インスタンスメソッドで null チェック
「 String.IsNullOrEmpty をインスタンスメソッドとして呼び出す」的な話を Twitter 上で見かけたので、拡張メソッドを使ってやってみました。
public static class StringExtensions { public static bool IsNullOrEmpty(this string target) { return String.IsNullOrEmpty(target); } } static void Main() { string v1 = null; string v2 = String.Empty; string v3 = @"hoge"; Console.WriteLine(v1.IsNullOrEmpty()); Console.WriteLine(v2.IsNullOrEmpty()); Console.WriteLine(v3.IsNullOrEmpty()); }
True True False
これは意外と利用価値あるかも?
ついでに、もうちょっと欲張って↓こんなのも書いてみた。
public static class GenericExtensions { public static bool IsNullOrDefault<T>(this T target) { return (target == null || target.Equals(default(T))); } } static void Main() { string v1 = null; string v2 = String.Empty; string v3 = @"hoge"; int v4 = 0; int v5 = default(int); int v6 = 765; Console.WriteLine(v1.IsNullOrDefault()); Console.WriteLine(v2.IsNullOrDefault()); Console.WriteLine(v3.IsNullOrDefault()); Console.WriteLine(v4.IsNullOrDefault()); Console.WriteLine(v5.IsNullOrDefault()); Console.WriteLine(v6.IsNullOrDefault()); }
True True False True True False