LINQSamples.com
  • Samples
  • Tutorials
  • About
  • Links
  • Contact
LINQ to Objects

Aggregation

Aggregate, Average, Count, LongCount, Max, Min, Sum

      Aggregate (simple)       Aggregate (seed)       Average       Count       LongCount       Max       Min       Sum

Conversion

AsEnumerable, Cast, OfType, ToArray, ToDictionary, ToList, ToLookup

      AsEnumerable       Cast       OfType       ToArray       ToDictionary (simple)       ToDictionary (conditional)       ToList       ToLookup

Element

ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault

      ElementAt       ElementAtOrDefault       First (simple)       First (conditional)       FirstOrDefault       Last       LastOrDefault (simple)       LastOrDefault (conditional)       Single       SingleOrDefault

Generation

DefaultIfEmpty, Empty, Range, Repeat

      DefaultIfEmpty (simple)       DefaultIfEmpty (default value)       Empty       Range       Repeat

Grouping

GroupBy

      GroupBy

Join

GroupJoin, Join

      GroupJoin (left outer join)       Join (inner join)

Ordering

OrderBy, OrderByDescending, Reverse, ThenBy, ThenByDescending

      OrderBy (simple - numbers)       OrderBy (simple - dates)       OrderBy (simple - objects)       OrderByDescending       Reverse       ThenBy       ThenByDescending

Other

Concat, SequenceEqual, Zip

      Concat (simple - numbers)       Concat (simple - strings)       SequenceEqual       Zip

Partitioning

Skip, SkipWhile, Take, TakeWhile

      Skip       SkipWhile       Take       TakeWhile

Projection

Select, SelectMany

      Select (simple)       Select (anonymous type)       Select (indexed)       SelectMany (cross join)

Quantifiers

All, Any, Contains

      All       Any       Contains

Restriction

Where

      Where (simple - numbers)       Where (simple - objects)       Where (indexed)

Set

Distinct, Except, Intersect, Union

      Distinct       Except       Intersect       Union
  Close

Where (simple - objects)

Lambda Query

Where: Filters elements from a collection to satisfy a specified condition.

Where: Filters elements from a collection to satisfy a specified condition.

This Lambda Expression sample finds all persons who are 30 years or older.

This Lambda Expression sample finds all persons who are 30 years or older.

  • C#
  • VB.Net
  • F#
static void Sample_Where_Linq_Objects()
{
    Person[] persons = {
        new Person { Name = "Mike", Age = 25 },
        new Person { Name = "Joe", Age = 43 },
        new Person { Name = "Nadia", Age = 31 }
    };

    var result = from p in persons
                 where p.Age >= 30
                 select p;

    Debug.WriteLine("Finding persons who are 30 years old or older:");
    foreach (Person person in result)
        Debug.WriteLine(String.Format("{0}: {1} years old", person.Name, person.Age));
}
Output:
Finding persons who are 30 years old or older:
Joe: 43 years old
Nadia: 31 years old
Private Class Person
    Public Property Name() As String
    Public Property Age() As Integer
End Class

Private Shared Sub Sample_Where_Linq_Objects()
    Dim persons As Person() = {
        New Person() With {.Name = "Mike", .Age = 25},
        New Person() With {.Name = "Joe", .Age = 43},
        New Person() With {.Name = "Nadia", .Age = 31}}

    Dim result = From p In persons Where p.Age >= 30

    Debug.WriteLine("Finding persons who are 30 years old or older:")
    For Each person As Person In result
        Debug.WriteLine([String].Format("{0}: {1} years old", person.Name, person.Age))
    Next
End Sub
Output:
Finding persons who are 30 years old or older:
Joe: 43 years old
Nadia: 31 years old
type Person(name, age) =
    member val Name = name
    member val Age = age

let Sample_Where_Linq_Objects() =
    let persons = [| new Person("Mike", 25); 
                     new Person("Joe", 43); 
                     new Person("Nadia", 31) |]

    let result = query {
        for p in persons do
        where (p.Age >= 30)
    }

    Debug.WriteLine(sprintf "Finding persons who are 30 years old or older:")
    for person in result do
        Debug.WriteLine(sprintf "%s: %d years old" person.Name person.Age)
Output:
Finding persons who are 30 years old or older:
Joe: 43 years old
Nadia: 31 years old
  • C#
  • VB.Net
  • F#
class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

static void Sample_Where_Lambda_Objects()
{
    Person[] persons = {
        new Person { Name = "Mike", Age = 25 },
        new Person { Name = "Joe", Age = 43 },
        new Person { Name = "Nadia", Age = 31 }
    };

    var result = persons.Where(p => p.Age >= 30);

    Debug.WriteLine("Finding persons who are 30 years old or older:");
    foreach (Person person in result)
        Debug.WriteLine(String.Format("{0}: {1} years old", person.Name, person.Age));
}
Output:
Finding persons who are 30 years old or older:
Joe: 43 years old
Nadia: 31 years old
Private Class Person
    Public Property Name() As String
    Public Property Age() As Integer
End Class

Private Shared Sub Sample_Where_Lambda_Objects()
    Dim persons As Person() = {
        New Person() With {.Name = "Mike", .Age = 25},
        New Person() With {.Name = "Joe", .Age = 43},
        New Person() With {.Name = "Nadia", .Age = 31}}

    Dim result = persons.Where(Function(p) p.Age >= 30)

    Debug.WriteLine("Finding persons who are 30 years old or older:")
    For Each person As Person In result
        Debug.WriteLine([String].Format("{0}: {1} years old", person.Name, person.Age))
    Next
End Sub
Output:
Finding persons who are 30 years old or older:
Joe: 43 years old
Nadia: 31 years old
type Person(name, age) =
    member val Name = name
    member val Age = age

let Sample_Where_Lambda_Objects() =
    let persons = [| new Person("Mike", 25); 
                     new Person("Joe", 43); 
                     new Person("Nadia", 31) |]

    let result = persons.Where(fun p -> p.Age >= 30)

    Debug.WriteLine(sprintf "Finding persons who are 30 years old or older:")
    for person in result do
        Debug.WriteLine(sprintf "%s: %d years old" person.Name person.Age)
Output:
Finding persons who are 30 years old or older:
Joe: 43 years old
Nadia: 31 years old

Share this sample on:

© 2023 - LINQSamples.com | Terms Of Service  -  Privacy Policy