2012-08-03 31 views
0

String有一個方便的String.IsNullOrEmpty方法用於檢查字符串是否爲null或長度爲零。開箱即用的.net中是否有類似的東西?集合有一個方便的IsNullOrEmpty方法嗎?

+0

的可能重複[如何檢查是否IEnumerable的爲空或空?](http://stackoverflow.com/questions/5047349/how-to-check-if-ienumerable-is-null-or-empty) – octothorpentine 2015-07-23 21:40:55

回答

7

這是一個更通用的擴展方法,可以在任何IEnumerable上工作。

​​

我不是的,如果事情是空返回真功能的忠實粉絲,我總是覺得大部分我需要添加的時候了!到string.IsNullOrEmptyString的前面。我會把它寫成「ExistsAndHasItems」或類似的東西。

+2

爲什麼你有Cast ?爲什麼不只是使簽名IEnumerable ? – 2012-08-05 22:25:53

+0

@LouisRhys這是一個很好的問題。這個想法是儘可能通用。由於IEnumerable 繼承自IEnumerable,因此IEnumerable將允許它爲IEnumerable 工作,因此允許它使用最大數量的集合。 – MikeKulls 2012-08-06 02:05:14

1

不,沒有,但您可以自己創建擴展方法。

17

有沒有,但我認爲你可以寫你自己的extension method

public static bool IsNullOrEmpty(this ICollection collection) 
{ 
    if (collection == null) 
     return true; 

    return collection.Count < 1; 
} 
+0

+1,但請注意'ICollection '不會從'ICollection'繼承,因此您可能需要創建兩個擴展方法,每個接口一個。 – phoog 2012-08-03 05:06:15

+0

爲什麼不使用Any而不是Count來避免迭代整個列表? – 2012-08-05 22:26:56

+1

@LouisRhys您是否注意到Count缺少括號?這不是Count()擴展方法,它是Count屬性,因此它不會枚舉整個列表。 – MikeKulls 2012-08-06 02:06:44

相關問題