1
我們的應用程序需要int?
變量。我經常檢查兩個以確保不爲零而不是0,並且它確實變得冗長。int?版本可用於String.IsNullOrWhiteSpace
是否有int?
的開箱即用的版本的String.IsNullOrWhiteSpace()
或String.IsNullOrEmpty()
也許這需要一個擴展方法?
如果甚至有人或當某人做出一個,這樣的事情會認爲是不好的做法?
我們的應用程序需要int?
變量。我經常檢查兩個以確保不爲零而不是0,並且它確實變得冗長。int?版本可用於String.IsNullOrWhiteSpace
是否有int?
的開箱即用的版本的String.IsNullOrWhiteSpace()
或String.IsNullOrEmpty()
也許這需要一個擴展方法?
如果甚至有人或當某人做出一個,這樣的事情會認爲是不好的做法?
我不這麼認爲,但它很容易編寫自己:
[Pure]
public static bool IsNullOrDefault<T>(this T? pValue)
where T : struct {
return pValue == null || pValue.Value.Equals(default(T));
// or as suggested in comments (tested)
return pValue == null || EqualityComparer<T?>.Default.Equals(pValue, default(T));
}
作爲一個方面說明,考慮使用'EqualityComparer
你可以擴展它,但我只是名字好聽,HasNonDefaultValue –
甚至'(X?0) == 0' –
這不被認爲是一個邪惡的死亡事件?我覺得任何時候我建議我在這裏擴展一些擴展。 – markokstate