Element Operators in LINQ
Except the DefaultIfEmpty, all the rest eight standard query element operators return a single element from a collection.
| Operator | Description | C# Query Expression Syntax | VB Query Expression Syntax |
|---|---|---|---|
| ElementAt | Returns an element present within a specific index in a collection | Not Applicable | Not Applicable |
| ElementAtOrDefault | Same as ElementAt except of the fact that it also returns a default value in case the specific index is out of range | Not Applicable | Not Applicable |
| First | Retrieves the first element within a collection or the first element satisfying a specific condition | Not Applicable | Not Applicable |
| FirstOrDefault | Same as First except the fact that it also returns a default value in case there is no existence of such elements | Not Applicable | Not Applicable |
| Last | Retrieves the last element present in a collection or the last element satisfying a specific condition | Not Applicable | Not Applicable |
| LastOrDefault | Same as Last except the fact that it also returns a default value in case there is no existence of any such element | Not Applicable | Not Applicable |
| Single | Returns the lone element of a collection or the lone element that satisfy a certain condition | Not Applicable | Not Applicable |
| SingleOrDefault | Same as Single except that it also returns a default value if there is no existence of any such lone element | Not Applicable | Not Applicable |
| DefaultIfEmpty | Returns a default value if the collection or list is empty or null | Not Applicable | Not Applicable |
Example of ElementAt - Enumerable.ElementAt Method
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
string[] names = { "Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu" };
Random random = new Random(DateTime.Now.Millisecond);
string name = names.ElementAt(random.Next(0, names.Length));
Console.WriteLine("The name chosen at random is '{0}'.", name);
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim names() As String = _{"Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu"}
Dim random As Random = New Random(DateTime.Now.Millisecond)
Dim name As String = names.ElementAt(random.Next(0, names.Length))
MsgBox("The name chosen at random is " & name)
End Sub
End Module
When the above code of C# or VB is compiled and executed, it produces the following result −
The name chosen at random is Ito, Shu
Note − Here, the above output will change dynamically and names will be chosen randomly.
Example of First - Enumerable.First Method
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19 };
int first = numbers.First();
Console.WriteLine(first);
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim numbers() As Integer = _{9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19}
Dim first As Integer = numbers.First()
MsgBox(first)
End Sub
End Module
When the above code of C# or VB is compiled and executed, it produces the following result −
9
Example of Last - Enumerable.Last Method
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19 };
int last = numbers.Last();
Console.WriteLine(last);
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim numbers() As Integer = _{9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19};
Dim last As Integer = numbers.Last()
MsgBox(last)
End Sub
End Module
When the above code of C# or VB is compiled and executed, it produces the following result −
19
linq_query_operators.htm
Advertisements