Thursday, 15 October 2020

C# - LINQ - CASE ..WHEN in LINQ

EXAMPLE 1

Int32[] numbers = new Int32[] { 1, 2, 1, 3, 1, 5, 3, 1 };

var numberText =

(

    from n in numbers

    where n > 0

    select new

    {

        Number = n,

        Text =

        (

            n == 1 ? "One" :

            n == 2 ? "Two" :

            n == 3 ? "Three" : "Unknown"

        )

    }

);

 

 EXAMPLE 2

from u in users

let range = (u.Age >= 0 && u.Age < 10 ? "0-25" :

             u.Age >= 10 && u.Age < 15 ? "26-40" :

             u.Age >= 15 && u.Age < 50 ? "60-100" :

            "50+")

group u by range into g

select new { g.Key, Count = g.Count() };



EXAMPLE 3

var query = from grade in sc.StudentGrade

join student in sc.Person on grade.Person.PersonID

equals student.PersonID

 select new

 {

     FirstName = student.FirstName,

     LastName = student.LastName,

     Grade = grade.Grade.Value >= 4 ? "A" :

                 grade.Grade.Value >= 3 ? "B" :

                 grade.Grade.Value >= 2 ? "C" :

                 grade.Grade.Value != null ? "D" : "-"

 }; 


No comments:

Post a Comment