ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
19. сентября 2012 10:23

Давайте посмотрим как использовать условно получаемые результаты в LINQ. Это типичный пример выражения switch case в LINQ. В этом примере, мы будем печатать "Pass" (сдал) , "Fail" (несдал) and "On Hold" (мучать дальше), в зависимости от 'Result' результата студента. Мы используем шаблон switch case для того чтобы определять строку.


C#


List<Student> stuList = new List<Student>();


stuList.Add(new Student() { ID = 1, FName = "Shakiy",Result = 'P' });


stuList.Add(new Student() { ID = 2, FName = "Mary", Result = 'P' });


stuList.Add(new Student() { ID = 3, FName = "Bill", Result = 'F' });


stuList.Add(new Student() { ID = 4, FName = "Samantha", Result = 'F' });


stuList.Add(new Student() { ID = 5, FName = "Mary", Result = 'P' });


stuList.Add(new Student() { ID = 6, FName = "John", Result = 'O' });


 


var slist = from stu in stuList


             select new { Name = stu.FName, Result = stu.Result  == 'P' ? "Pass" :


                 stu.Result == 'F' ? "Fail" : "On Hold" };


 


foreach (var list in slist)


{


    // print name and result


}




VB.NET




        Dim stuList As New List(Of Student)()


        stuList.Add(New Student() With {.ID = 1, .FName = "Shakiy", .Result = "P"c})


        stuList.Add(New Student() With {.ID = 2, .FName = "Mary", .Result = "P"c})


        stuList.Add(New Student() With {.ID = 3, .FName = "Bill", .Result = "F"c})


        stuList.Add(New Student() With {.ID = 4, .FName = "Samantha", .Result = "F"c})


        stuList.Add(New Student() With {.ID = 5, .FName = "Mary", .Result = "P"c})


        stuList.Add(New Student() With {.ID = 6, .FName = "John", .Result = "O"c})


 


        Dim slist = _


         From stu In stuList _


         Select New With {Key .Name = stu.FName, Key .Result = If(stu.Result = "P"c, "Pass", If(stu.Result = "F"c, "Fail", "On Hold"))}


 


        For Each list In slist


            ' print name and result


        Next list


Это перевод. Оригинал здесь.

Похожие записи


Как использовать LINQ для того, чтобы вытащить только строки из ArrayList ?
Здесь простой пример того, как используя LINQ вытащить только строки из нетипизированного списка (ArrayList), который содержит строки и целые числа. C#static void Main(string[] args){ ArrayList al = new ArrayList { "Hello", 200, "World", false, 100 }; var onlyStr = al.OfType<string>(); Console.WriteLine("Printing Only Strings"); ...

Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Как использовать специальные символы HTML?
                Помните о том, что в настоящее время язык HTML предусмотрен для разметки разных интернет документов. Все страницы, которые видят пользователи интернета, написаны только на языке HTML. А для того чтобы отобразить все нужные компоненты необходимо обязательно использовать специальны...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий