閒來無事時積累的一些linq函式,有時間就更新。
需要注意python版本如果低於3.0不支援lambda,只能單獨寫函式傳參,比較麻煩
1.firstordefault:
def返回1firstordefault(collection, func):
result =filter(func, collection)
if len(result) == 0: return
none
return
result[0]
defmain():
def condition(m): return m < 3
print firstordefault([1,2,3,4], condition)
#print 1
2.where:
defwhere(collection, func):
result =filter(func, collection)
if len(result) == 0: return
none
return
result
defmain():
def condition(m): return m < 3
print where([1,2,3,4], condition)
#print [1,2]
返回篩選後的陣列1,2
3.distinct:
defdistinct(collection, iscontainfunc):
resultlist =list()
for item in
collection:
deffirstordefaultpredicate(m):
return
iscontainfunc(m,item)
containvalue =firstordefault(collection, firstordefaultpredicate)
if containvalue !=none:
ifnot item in
resultlist:
return
resultlist
defmain():
tmp = [1,2,2,3,4,3]
def compare(x,y):return x==y
result =distinct(tmp, compare)
result
#print [1,2,3,4]
去重複,依賴firstordefault。
C linq中的all方法
確定是否對序列中的所有元素都滿足條件。返回乙個bool型別。一定要注意是所有的元素都要滿足才會返回true,只要有乙個元素不滿足就返回false 關於返回值為啥是bool,可以看一下關於func的解讀。宣告乙個int型別的陣列 int ints 判斷陣列的每乙個值是否都小於11 bool zc in...
C Linq中的Select方法的說明
enumerable.range 0,20 select i console.writeline i 計算完成 return x 當你嘗試執行上面的 會發現並沒有輸出,這是為什麼呢?意思就是它只是儲存了乙個操作,相當於儲存了乙個委託,只有在列舉時才執行委託。即 將結果tolist時就會產生輸出,因為...
C Linq 的使用整理 持續更新中
linq即language integrated query 語言整合查詢 linq是整合到c 和visual basic.net這些語言中用於提供查詢資料能力的乙個新特性。注 linq 發音為link 1 linq是.net框架的擴充套件,它允許我們以資料庫查詢的方式查詢資料集合。2 c 3.0包...