自分のためのTips、誰かの為にもなるといいな・・・

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> のような場合、↑の方法が適しているはず。


最終更新 2007/11/14 20:08:51 - yohei
(2007/11/14 18:32:48 作成)


検索

最近気になる言葉
LINQ
atコマンド
最近更新したページ
2015/7/16
2008/9/15
2008/1/30
2007/12/14
2007/11/14
2007/10/25
2007/9/23
2007/5/30