LINQ Basics
Where Filter
Where keeps only the values that match a condition.
Where
`Where` filters a sequence with a predicate.
Where Filter
WhereFilter.cs
Replay: real traced execution (multi-file project)
using System;
using System.Linq;
class Program
{
static void Main()
{
int minimum = 4;
int[] values = { 1, 3, 5, 7 };
int[] kept = values.Where(value => value >= minimum).ToArray();
string joined = string.Join(",", kept);
Console.WriteLine($"minimum={minimum}");
Console.WriteLine($"kept={joined}");
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
int minimum = 2;
int[] values = { 1, 3, 5, 7 };
int[] kept = values.Where(value => value >= minimum).ToArray();
string joined = string.Join(",", kept);
Console.WriteLine($"minimum={minimum}");
Console.WriteLine($"kept={joined}");
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
int minimum = 6;
int[] values = { 1, 3, 5, 7 };
int[] kept = values.Where(value => value >= minimum).ToArray();
string joined = string.Join(",", kept);
Console.WriteLine($"minimum={minimum}");
Console.WriteLine($"kept={joined}");
}
}
minimum ← 4, joined ← 5,7
5{6 static void Main()7 {8 int minimum→ 4 = 4; //@minimum=2, 69 int[] values = { 1, 3, 5, 7 };10 int[] kept = values.Where(value => value >= minimum).ToArray();11 string joined→ 5,7 = string.Join(",", kept);1213 Console.WriteLine($"minimum={minimum4}");14 Console.WriteLine($"kept={joined5,7}");15 }outputminimum=4 kept=5,7
minimum ← 2, joined ← 3,5,7
5{6 static void Main()7 {8 int minimum→ 2 = 2;9 int[] values = { 1, 3, 5, 7 };10 int[] kept = values.Where(value => value >= minimum).ToArray();11 string joined→ 3,5,7 = string.Join(",", kept);1213 Console.WriteLine($"minimum={minimum2}");14 Console.WriteLine($"kept={joined3,5,7}");15 }outputminimum=2 kept=3,5,7
minimum ← 6, joined ← 7
5{6 static void Main()7 {8 int minimum→ 6 = 6;9 int[] values = { 1, 3, 5, 7 };10 int[] kept = values.Where(value => value >= minimum).ToArray();11 string joined→ 7 = string.Join(",", kept);1213 Console.WriteLine($"minimum={minimum6}");14 Console.WriteLine($"kept={joined7}");15 }outputminimum=6 kept=7