=> 是推导 符号 。
Array.FindAll(list, s => (s.IndexOf("a") > -1)) 3.0以上这么写.
在2.0是如下面这样写. (当然3.0也可以这样写)
var result = Array.FindAll(list, delegate(string s)
{
return s.IndexOf("a") > -1;
});
你也可以这样看下.整个是这样的.
delegate bool Predicate<T>(T t);
static class ArrayHelp
{
static public T[] FindAllTwo<T>(T[] array, Predicate<T> predicate)
{
List<T> ts = new List<T>();
foreach (T t in array)
{
if (predicate(t))
ts.Add(t);
}
return ts.ToArray();
}
}
var list = new [] { "aa", "bb", "ac" };
ArrayHelp.FindAllTwo(list, s => s.IndexOf("a") > -1);