Linq 是在 .NET Framework 3.5 中出现的技术
个人学习记录:
学习起因:如下所示一段看不懂的代码(是由 .NET Reflector反编译而来)
private void Analyse(){
Func<DataRow, bool> predicate = null;
System.Data.DataTable dt = this.dictionaryOfDatable["表1"];
if(dt!=null){
ListViewItem item = new ListViewItem {Text = tabname };
if (predicate == null) { predicate = dr => dt.Rows.IndexOf(dr) >= 0;}
tem.SubItems.Add(dt.AsEnumerable().Where<DataRow>(predicate).Sum<DataRow>(((Func<DataRow, double>) (zd => Convert.ToDouble(zd.Field<string>("面积(㎡)"))))).ToString());
this.listView.Items.Add(item);
}
}
这里涉及到了委托,LINQ,Lambda表达式,IEnumerable等内容,是我等菜菜未接触过的。现在需要赶紧补救。下面进行介绍。
一、委托
二、LINQ
- 官网链接:MSDN LINQ
三、Lambda表达式
四、IEnumerable
- 官网
- 这里用到的是dt.AsEnumerable()