诠释?可用于String.IsNullOrWhiteSpace的版本

时间:2017-02-28 20:07:02

标签: c# extension-methods nullable

我们的应用程序需要int?个变量。我经常检查两者以确保不是null而不是0并且它确实变得冗长。

[{1}}

String.IsNullOrWhiteSpace()String.IsNullOrEmpty()的开箱即用版本吗?

也许这需要扩展方法?

如果有人或者当某人制作一个,那么这样的事情会被认为是不好的做法吗?

1 个答案:

答案 0 :(得分:1)

我不这么认为,但你自己写的很容易:

[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));
}