public static int SafeCount<T>(this IList list)
{
return list != null ? list.Count : 0;
}
我想問的是我該怎麼稱呼這種方法? SafeCount會? NullSafeCount?做一個考慮空檢查的計數 - 我該怎麼稱呼它? SafeCount會?
你能想出一些更簡短但不含糊的東西嗎?
public static int SafeCount<T>(this IList list)
{
return list != null ? list.Count : 0;
}
我想問的是我該怎麼稱呼這種方法? SafeCount會? NullSafeCount?做一個考慮空檢查的計數 - 我該怎麼稱呼它? SafeCount會?
你能想出一些更簡短但不含糊的東西嗎?
這可能只是linq對我的影響,但我會被誘惑稱爲'CountOrDefault'。不是真的較短,但...
(邊注:爲什麼IList的,而不是IEnumerable的只是好奇)
我必須數。 – halviingston 2010-10-04 18:25:27
在這種情況下,您可以使用IEnumerable的Count()函數。我可以理解,不想實現IEnumerable,但是您必須這樣做才能創建使用上述函數所需的IList。 – diceguyd30 2010-10-04 18:35:02
一個可能的更短的名字:'CountOr0' – diceguyd30 2010-10-04 18:37:30
爲框架中的其他方法對準我稱之爲GetCountOrDefault
或可能CountOrDefault
。類似的方法,我會尋找前瞻。
Enumerable.FirstOrDefault
Enumerable.SingleOrDefault
Enumerable.LastOrDefault
Enumerable.ElementAtOrDefault
Nullable.GetValueOrDefault
另一種選擇是通過使其返回到返回類型,而不是在方法名的模糊性編碼int?
而不是int
。
public static int? GetCount(this IList list) {
return list != null ? (int?)list.Count : null;
}
我看到你要去哪裏,這.. ..不知道我怎麼感覺它thoiugh。 – halviingston 2010-10-04 18:28:31
@halviingston,我同意起初有點奇怪。但沒有一個令人信服的理由,我會贊成以一個新名字開頭。在這些例子中,'Nullable
@halviingston又增加了一個建議。 – JaredPar 2010-10-04 19:40:00
我建議對超載的IEnumerable''以及(所以纔會對所有集合的工作),並改變這一個ICollection的''採取用'Count'財產更廣泛的選擇集合類型。 –
Richard
2010-10-04 18:18:42
BuggyCount,我會說。 CountIfNotNull描述了它的功能。 – 2010-10-04 18:19:43
@Richard:取決於使用情況。因爲他可能不想使用計數擴展來枚舉集合。 – 2010-10-04 18:20:29