2015年05月27日

LINQ to Objectサンプル(06): 文字列を走査する

   このエントリーをはてなブックマークに追加 Clip to Evernote
文字列を走査する 文字列の中から条件に合う文字だけを使い処理をする例です。
ここでは、与えられた文字列から空白を取り除き、新たな文字列を組み立てています。

■ループを使ったコード
string s = "The quick brown fox jumps over a lazy dog.";
string t = "";
foreach (char c in s) {
    if (c != ' ')
        t += c;
}
Console.WriteLine(t);

結果は、 Thequickbrownfoxjumpsoveralazydog と表示されます。

■LINQを使ったコード
string s = "The quick brown fox jumps over a lazy dog.";
string t2 = new string(s.Where(c => c != ' ').ToArray());
Console.WriteLine(t2);

文字列は、IEnumerable<char>を実装しているので、LINQのメソッドが利用できます。
このコードでは、stringのコンストラクタに、文字配列を渡すことで、新たな文字列を生成しています。
なお、Where()メソッドで得られるのは、IEnumerable<char>なので、stringのコンストラクタに渡せるように、ToArray()メソッドで、配列に変換しています。

 


この記事へのコメント
初めまして。
ブログ参照させていただいております。

結果はThequickbrownfoxjumpsoveralazydog.
では?
Posted by つばみ at 2015年05月29日 16:33
つばみさん、ご指摘ありがとうございます。
直しておきました。
いったい、何を考えていたのか??? なぞです(笑)
Posted by gushwell at 2015年05月29日 21:37
 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52419913