C#
パターン②: 匿名型へ整形(複数列をまとめて画面/CSV用に)
出典: C# LINQ Select の3パターン — 単純射影 / 匿名型整形 / インデックス付きの使い分け — 最短対処: コピペで動く3つの Select / パターン②: 匿名型へ整形(複数列をまとめて画面/CSV用に)
var view = employees.Select(e => new
{
e.Id,
名前 = e.Name,
年齢 = e.Age
}).ToList();
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「最短対処: コピペで動く3つの Select / パターン②: 匿名型へ整形(複数列をまとめて画面/CSV用に)」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
6 件public class Employee { public int Id { get; set; } public string Name { get; set; }未収録
最短対処: コピペで動く3つの Select
#fa5486377d42
// List から名前だけ取り出す var names = employees.Select(e => e.Name).ToList(); // DataTable から型付きで1列取り出す(業務SE頻出)未収録
パターン①: 単純射影(1列だけ・型付きで取り出す)
#6364f5bd7109
var rows = dt.AsEnumerable().Select(r => new { Id = r.Field<int>("Id"), Name = r.Field<string>("Name"),未収録
パターン②: 匿名型へ整形(複数列をまとめて画面/CSV用に)
#a8c0879a3ee4
var numbered = employees.Select((e, i) => new { No = i + 1, // 1 始まりにしたいので +1 名前 = e.Name未収録
パターン③: インデックス付き Select(行番号・連番を振る)
#9cf00057024d
class Program { static void Main() {
▶ 実行可
ハマり①: Select は foreach するまで実行されない(遅延評価)
#b2e4130e3fde
class Dept { public string Name { get; set; } } class Emp { public string Name { get; set; } public Dept Dept { get; set; } } class Program
▶ 実行可
ハマり②: 射影の途中で null を踏んで NullReferenceException
#e34d11d16676
