LINQ Basics
Select Projection
Select transforms each value into a new value.
Select
`Select` maps each input value to an output value.
Select Projection
SelectProjection.cs
Replay: real traced execution (multi-file project)
using System;
using System.Linq;
class Program
{
static void Main()
{
string suffix = "!";
string[] names = { "Ada", "Ben" };
string[] labels = names.Select(name => name + suffix).ToArray();
string joined = string.Join(",", labels);
Console.WriteLine($"suffix={suffix}");
Console.WriteLine($"labels={joined}");
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
string suffix = "?";
string[] names = { "Ada", "Ben" };
string[] labels = names.Select(name => name + suffix).ToArray();
string joined = string.Join(",", labels);
Console.WriteLine($"suffix={suffix}");
Console.WriteLine($"labels={joined}");
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
string suffix = ".";
string[] names = { "Ada", "Ben" };
string[] labels = names.Select(name => name + suffix).ToArray();
string joined = string.Join(",", labels);
Console.WriteLine($"suffix={suffix}");
Console.WriteLine($"labels={joined}");
}
}
suffix ← !, joined ← Ada!,Ben!
5{6 static void Main()7 {8 string suffix→ ! = "!"; //@suffix="?", "."9 string[] names = { "Ada", "Ben" };10 string[] labels = names.Select(name => name + suffix).ToArray();11 string joined→ Ada!,Ben! = string.Join(",", labels);1213 Console.WriteLine($"suffix={suffix!}");14 Console.WriteLine($"labels={joinedAda!,Ben!}");15 }outputsuffix=! labels=Ada!,Ben!
suffix ← ?, joined ← Ada?,Ben?
5{6 static void Main()7 {8 string suffix→ ? = "?";9 string[] names = { "Ada", "Ben" };10 string[] labels = names.Select(name => name + suffix).ToArray();11 string joined→ Ada?,Ben? = string.Join(",", labels);1213 Console.WriteLine($"suffix={suffix?}");14 Console.WriteLine($"labels={joinedAda?,Ben?}");15 }outputsuffix=? labels=Ada?,Ben?
suffix ← ., joined ← Ada.,Ben.
5{6 static void Main()7 {8 string suffix→ . = ".";9 string[] names = { "Ada", "Ben" };10 string[] labels = names.Select(name => name + suffix).ToArray();11 string joined→ Ada.,Ben. = string.Join(",", labels);1213 Console.WriteLine($"suffix={suffix.}");14 Console.WriteLine($"labels={joinedAda.,Ben.}");15 }outputsuffix=. labels=Ada.,Ben.