C#—空集Any函數和All函數語義

在c#集合列表的衆多擴展方法中,Any方法和All方法是比較常用。

Any語義:任意一個元素滿足條件則返回true,否則返回fase;

All語義:所有元素滿足條件則返回true,否則返回false

但是,如果集合本身是空集,即集合元素個數爲0,可能會對使用者的正常邏輯產生混淆

當集合是空集的情況,Any方法和All方法,會忽略條件判斷語句,以空集的意義返回判斷結果。

即:當集合爲空集時:Any方法返回false,All方法返回true。

這對新手來說是一個不小的坑,下面是測試代碼
 

 List<string> list = new List<string>();
  var b1 = list.All(c => false);  //輸出 true
  var b2 = list.All(c => false);//輸出 true
  var b3 = list.Any(c => true)//;輸出 false
  var b4 = list.Any(c => false);//輸出 false

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章