LINQ Basics
OrderBy
OrderBy creates a sorted sequence without changing the original values.
OrderBy
`OrderBy` sorts a sequence by a selected key.
OrderBy
OrderByExample.cs
Replay: real traced execution (multi-file project)
using System;
using System.Linq;
class Program
{
static void Main()
{
int extra = 4;
int[] values = { 3, extra, 1 };
int[] ordered = values.OrderBy(value => value).ToArray();
string joined = string.Join(",", ordered);
Console.WriteLine($"extra={extra}");
Console.WriteLine($"ordered={joined}");
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
int extra = 2;
int[] values = { 3, extra, 1 };
int[] ordered = values.OrderBy(value => value).ToArray();
string joined = string.Join(",", ordered);
Console.WriteLine($"extra={extra}");
Console.WriteLine($"ordered={joined}");
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
int extra = 9;
int[] values = { 3, extra, 1 };
int[] ordered = values.OrderBy(value => value).ToArray();
string joined = string.Join(",", ordered);
Console.WriteLine($"extra={extra}");
Console.WriteLine($"ordered={joined}");
}
}
extra ← 4, joined ← 1,3,4
5{6 static void Main()7 {8 int extra→ 4 = 4; //@extra=2, 99 int[] values = { 3, extra4, 1 };10 int[] ordered = values.OrderBy(value => value).ToArray();11 string joined→ 1,3,4 = string.Join(",", ordered);1213 Console.WriteLine($"extra={extra4}");14 Console.WriteLine($"ordered={joined1,3,4}");15 }outputextra=4 ordered=1,3,4
extra ← 2, joined ← 1,2,3
5{6 static void Main()7 {8 int extra→ 2 = 2;9 int[] values = { 3, extra2, 1 };10 int[] ordered = values.OrderBy(value => value).ToArray();11 string joined→ 1,2,3 = string.Join(",", ordered);1213 Console.WriteLine($"extra={extra2}");14 Console.WriteLine($"ordered={joined1,2,3}");15 }outputextra=2 ordered=1,2,3
extra ← 9, joined ← 1,3,9
5{6 static void Main()7 {8 int extra→ 9 = 9;9 int[] values = { 3, extra9, 1 };10 int[] ordered = values.OrderBy(value => value).ToArray();11 string joined→ 1,3,9 = string.Join(",", ordered);1213 Console.WriteLine($"extra={extra9}");14 Console.WriteLine($"ordered={joined1,3,9}");15 }outputextra=9 ordered=1,3,9