擴充套件方法判斷序列 或集合 是否包含元素

2021-09-24 16:17:19 字數 836 閱讀 8994

自定義擴充套件方法:

public

static

class

enumerableextensions

public

static

bool isnotempty(this ienumerablesource)

}

測試用到的person類:

public

class

person

set

}private

string

name;

public

string

name

set }}

mian函式:

static

void main(string

args)

,new person,

};if(list.isnotempty())

else

console.readkey();

}

執行截圖:

總結:其實只是對linq中的any()方法進行了一下簡單的封裝。

用source.any()方法比用source.count()>0較好,是因為source.count()>0 遇到 yeild return等情況時會出現效能問題。

簡言之,用source.any()方法比較高效和保險。

而source.any()的名字沒isempty和isnotempty通俗易懂(好聽),故,用擴充套件方法封裝了一下。

如何判斷乙個集合是否包含這個元素

如何判斷乙個集合是否包含這個元素?本文番茄加速就來講一下這個知識點。isin 1 a 1,2,3 in 2 id a 獲取列表例項 a在記憶體中的位址 out 2 95219592 in 5 b 1,2,3 再建立乙個列表例項,元素取值也為 1,2,3 in 6 id b out 6 9516564...

c 反射 判斷函式是否為擴充套件方法

c methodinfo內並沒有字段用來標識該方法是否為擴充套件方法。目前只能通過自己擴充套件來判斷方法是否為擴充套件方法,如下 static ienumerablegetextensionmethods assembly assembly,type extendedtype 核心 就一句 meth...

陣列或集合呼叫前,判斷是否為空

首先,了解一下null和.length size的區別 null就是意思只定義沒有建立物件,如 object o 如果呼叫o.length會報錯,因為它沒有任何.功能。length則是判斷這個陣列的元素個數,size類似。然後,寫好的程式中如果我們沒有稍加判斷,在呼叫的時候,如果為空或長度小於零,這...