2016-06-27 16:30
周陳
一、關(guān)于LINQ
30分鐘LINQ教程
這篇文章可以讓人明白,為什么每次講到LINQ都會講到Lambda,講到委托产园,講到匿名等等,也就是第一部分的內(nèi)容:與LINQ有關(guān)的語言特性夜郁。
Linq之旅:Linq入門詳解(Linq to Objects)
這篇文章主要介紹了LINQ to Objects的操作方法什燕,比較詳細,而且也有代碼拂酣。
細說Linq之Aggregate這篇文章真是太神奇了秋冰,比如求1到100的和,這可是數(shù)學(xué)王子高斯的經(jīng)典吧舭尽剑勾!再比如求5的階乘。大多數(shù)的人可能會用循環(huán)去做赵颅,代碼如下:
//求和
var sum=0;
for (int i = 1; i <= 100; i++)
{
sum += i;
}
Console.WriteLine(sum);
//求階乘
var mul = 1;
for (int i = 1; i <= 5; i++)
{
mul *= i;
}
Console.WriteLine(mul);
有了LINQ的Aggregate虽另,只需一行代碼即可實現(xiàn),如下:
//求和
var list = Enumerable.Range(1, 100);
var result = list.Aggregate((a, b) => (a + b));
Console.WriteLine(result);
//求階乘
var list2 = Enumerable.Range(1, 5);
var result2 = list2.Aggregate(1, (a, b) => (a * b));
Console.WriteLine(result2);
LINQ的Enumerable類里有35個方法饺谬,在使用到LINQ時捂刺,經(jīng)常會用到這些方法,沒事翻一翻募寨,對List<T>類型的數(shù)據(jù)做過濾操作族展、排序操作等都會用到的。
二拔鹰、關(guān)于Lambda
lambda表達式之進化這篇文章將Lambda的進化講解得偏僻如理仪缸,清晰明了啊列肢!
Lambda的本質(zhì)就是匿名方法
Lambda是LINQ的基礎(chǔ)恰画,這么看來,應(yīng)該把Lambda放前面寫的
PS:
1瓷马、為什么有些人特別討厭Lambda呢拴还?我覺得挺好的呀,很簡單的代碼可以做很復(fù)雜的事情呢欧聘。
2片林、其實這也是一個培訓(xùn)筆記,但是因為我完全沒理解講師講了些什么怀骤,所以就自己去網(wǎng)上找了這些文章來補充一下费封,學(xué)習(xí)一下了。