MVC语法变化

  string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" };

 

静态类中的静态方法的调用:

var uu=Enumerable.Where( names,w=>w.Length == 5);

//为扩展方法传Lambda 做参数,lambda表达式会被转化成匿名方法,匿名方法会转化成委托。注意,我们这里的扩展方法要求的参数是委托类型的实例

 //用扩展方法的语法来调用

  var uu= names.Where(w=>w.Length == 5);

 //Linq查询

var uu= 

from s in names

where s.Length == 5

 orderby s select s.ToLower();

传一个命名方法:

 var fiveNameA = names.Where(IsLengthFive);

 private static bool IsLengthFive(string s)
        {
            return s.Length == 5;
        }

匿名方法

  IEnumerable<string> myQueryfB =
                names.Where(delegate(string s) { return s.Length == 5; })
                .OrderBy(s => s)
                .Select(s => s.ToLower());

  //使用yield ruturn的解决方案。

 var namesFive = GetFiveName(names);

 private static IEnumerable GetFiveName(string[] ts)
        {
            foreach (var item in ts)
            {
                if (item.Length == 5)
                {
                    yield return item;
                }
            }
        }
               
                
               
               

 

posted @ 2018-04-12 22:57  IT*Boy  阅读(72)  评论(0编辑  收藏  举报