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