首先先來扯一下,這篇博文是我第一次寫的,主要是我的一些摘錄,希望對大家有所幫助。
Linq的基礎(chǔ)

1 Table1TableAdapter adapter = new Table1TableAdapter();2 /*3 強類型DataSet與Var.Database1DataSet.Table1DataTable dt = adapter.GetData();4 強類型DataSet與Var.Database1DataSet.Table1Row row = dt[0];5 */6 var dt = adapter.GetData();7 var row = dt[0];8 var aa = row.aa;
排序,分組
orderby person.Age descending

1 int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };2 var result = from i in values3 //按i進行排序,g表示分組4 group i by i into g5 select g.Key;
擴展方法
下面的方法都是IEnumerable<T>的擴展方法:
Average計算平均值; Min最小元素;Max最大元素;Sum元素總和; Count元素數(shù)量;
Concat連接兩個序列;//相當(dāng)于sql的Unoin all
Contains序列是否包含指定元素;
Distinct取得序列中的非重復(fù)元素;
Except獲得兩個序列的差集;
Intersect獲得兩個序列的交集;
First取得序列第一個元素;
Single取得序列的唯一一個元素,如果元素個數(shù)不是1個,則報錯;
FirstOrDefault 取得序列第一個元素,如果沒有一個元素,則返回默認值;
Linq只能用于范型的序列,IEnumerable<T>,對于非范型,可以用Cast或者OfType
IEnumerable的方法:
Cast<TResult>:由于Linq要針對范型類型操作,對于老版本.Net類等非范型的IEnumerable序列可以用Cast方法轉(zhuǎn)換為范型的序列。ArrayList l; IEnumerable<int> il = l.Cast<int>();
OfType<TResult>:Cast會嘗試將序列中所有元素都轉(zhuǎn)換為TResult類型,如果待轉(zhuǎn)換的非范型序列中含有其他類型,則會報錯。OfType則是只將序列中挑出指定類型的元素轉(zhuǎn)換到范型序列中。
新聞熱點
疑難解答