Какой рейтинг вас больше интересует?
|
Как использовать переключатели ( : ? ) в LINQ ?2012-09-19 10:23:00 (читать в оригинале)Давайте посмотрим как использовать условно получаемые результаты в 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
|
Категория «Спортсмены»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
взяты из открытых общедоступных источников и являются собственностью их авторов.