首页 新闻 会员 周边

Lambda表达式 => 是什么意思?

0
[已关闭问题]
 var list = new [] { "aa", "bb", "ac" };
  var result
= Array.FindAll(list, s => (s.IndexOf("a") > -1));
  
foreach (var v in result)
  Console.WriteLine(v);

帮我解释一下=> 到底是什么意思?,,

天空海阔的主页 天空海阔 | 初学一级 | 园豆:6
提问于:2010-04-08 22:05
< >
分享
其他回答(1)
0

=>   是推导 符号 。

Sam_Zhang | 园豆:105 (初学一级) | 2010-04-08 22:16
0

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);

天天不在 | 园豆:926 (小虾三级) | 2010-04-09 15:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册