[C#] Array.FindAll による要素の複数結果検索
C#2.0 でも、delegate と Array やリストコレクションが持つメソッドを組み合わせると、リファクタリング可能なコードを書くことができる。
以下は、Array.FindAll を使用して、CSV の値から文字列の操作を行っている。
Array.Find ジェネリック メソッド - msdn
http://msdn.microsoft.com/ja-jp/library/d9hy2xwa(v=vs.80).aspx
以下は、Array.FindAll を使用して、CSV の値から文字列の操作を行っている。
using System; using System.Collections.Generic; using System.Diagnostics; string[] csv = { "abc,def,aab,dee,cba,bac" }; string[] ret = Array.FindAll(csv, delegate(string x) { // a が含まれる文字列を検索する(あいまい検索)。 return x.Contains("a"); }); // 結果 : abc, aab, cba, bac Debug.WriteLine(ret); string[] ret2 = Array.FindAll(csv, delegate(string x) { // a から始まる文字列を検索する(前方一致検索)。 return x.StartsWith("a"); }); // 結果 : abc, aab Debug.WriteLine(ret2);ret 行はリファクタリング可能。
Array.Find ジェネリック メソッド - msdn
http://msdn.microsoft.com/ja-jp/library/d9hy2xwa(v=vs.80).aspx