LINQ覚書
範囲内の整数を列挙する
Enumerable.Range を使用する。第2引数は、個数なので注意(start, count)
// 101-111の和(int) var sum = Enumerable.Range(101, 10).Sum();
デフォルト値
値が無い場合、"Not Found." と出力するvar ss = new string[] { "abc", "def", "ghi" }; // 何らかの文字列を抽出する(この場合、文字'x'を含む文字列を抽出) var sx = from s in ss where s.Contains('x') select s; // 一致する文字列が無ければ、"Not Found."と出力する foreach (var s in sx.DefaultIfEmpty("Not Found.")) Console.WriteLine(s);
文字列連結
AggregateにStringBuilderを合わせて使うvar ss = new string[] { "abc", "def", "ghi" }; Console.WriteLine(ss.Aggregate(new StringBuilder(), (sb, s) => sb.Append(s)));元が配列なら string.Concat()を用いれば良いが、 IEnumerable<string> のような場合、↑の方法が適しているはず。