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 (indexed)

Lambda Query

Where: Filters elements from a collection to satisfy a specified condition. Use overloaded Index to pass index.

Where: Filters elements from a collection to satisfy a specified condition. Use overloaded Index to pass index.

This Lambda Expression sample finds numbers divisible by 3 and element index >= 5.

This Lambda Expression sample finds numbers divisible by 3 and element index >= 5.

  • C#
  • VB.Net
static void Sample_Where_Linq_Indexed()
{
    int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

    var result = from n in numbers.Select((Value, Index) => new {Value, Index})
                 where (n.Value % 3 == 0 && n.Index >= 5)
                 select n.Value;

    Debug.WriteLine("Numbers divisible by 3 and indexed >= 5:");
    foreach (var number in result)
        Debug.WriteLine(number);
}
Output:
Numbers divisible by 3 and indexed >= 5:
6
9
Private Shared Sub Sample_Where_Linq_Indexed()
    Dim numbers As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

    Dim result = From n In numbers.Select(Function(Value, Index) New With {Value, Index}) _
                 Where (n.Value Mod 3 = 0 AndAlso n.Index >= 5)
                 Select n.Value

    Debug.WriteLine("Numbers divisible by 3 and indexed >= 5:")
    For Each number In result
        Debug.WriteLine(number)
    Next
End Sub
Output:
Numbers divisible by 3 and indexed >= 5:
6
9
  • C#
  • VB.Net
  • F#
static void Sample_Where_Lambda_Indexed()
{
    int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

    var result = numbers.Where((n, i) => n % 3 == 0 && i >= 5);

    Debug.WriteLine("Numbers divisible by 3 and indexed >= 5:");
    foreach (var number in result)
        Debug.WriteLine(number);
}
Output:
Numbers divisible by 3 and indexed >= 5:
6
9
Private Shared Sub Sample_Where_Lambda_Indexed()
    Dim numbers As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

    Dim result = numbers.Where(Function(n, i) n Mod 3 = 0 AndAlso i >= 5)

    Debug.WriteLine("Numbers divisible by 3 and indexed >= 5:")
    For Each number In result
        Debug.WriteLine(number)
    Next
End Sub
Output:
Numbers divisible by 3 and indexed >= 5:
6
9
let Sample_Where_Lambda_Indexed() =
    let numbers = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]

    let result = numbers.Where(fun n i -> n % 3 = 0 && i >= 5)

    Debug.WriteLine(sprintf "Numbers divisible by 3 and indexed >= 5:")
    for number in result do
        Debug.WriteLine(sprintf "%d" number)
Output:
Numbers divisible by 3 and indexed >= 5:
6
9

Share this sample on:

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