.NET 4.0にて、System.Stringクラスに以下のstaticメソッドが追加されました。
String.IsNullOrWhiteSpace
これは、以前から存在していたIsNullOrEmptyメソッドに、「空白文字のみの文字列」の場合も
空と見なす条件を追加したものになります。
前までは、以下のように記述する必要がありました。
if (string.IsNullOrEmpty(str) || str.Trim().Length == 0) { .... }
これからは、以下のように記述できます。
if (string.IsNullOrWhiteSpace(str)) { .... }
以下、サンプルです。
public class StringIsNullOrWhiteSpaceSamples01 : IExecutable { public void Execute() { // // String::IsNullOrWhiteSpaceメソッドは、IsNullOrEmptyメソッドの動作に // 加え、更に空白文字のみの場合もチェックしてくれる。 // string nullStr = null; string emptyStr = string.Empty; string spaceStr = " "; string normalStr = "hello world"; string zenkakuSpaceStr = " "; // // String::IsNullOrEmptyでの結果. // Console.WriteLine("============= String::IsNullOrEmpty =============="); Console.WriteLine("nullStr = {0}", string.IsNullOrEmpty(nullStr)); Console.WriteLine("emptyStr = {0}", string.IsNullOrEmpty(emptyStr)); Console.WriteLine("spaceStr = {0}", string.IsNullOrEmpty(spaceStr)); Console.WriteLine("normalStr = {0}", string.IsNullOrEmpty(normalStr)); Console.WriteLine("zenkakuSpaceStr = {0}", string.IsNullOrEmpty(zenkakuSpaceStr)); // // String::IsNullOrWhiteSpaceでの結果. // Console.WriteLine("============= String::IsNullOrWhiteSpace =============="); Console.WriteLine("nullStr = {0}", string.IsNullOrWhiteSpace(nullStr)); Console.WriteLine("emptyStr = {0}", string.IsNullOrWhiteSpace(emptyStr)); Console.WriteLine("spaceStr = {0}", string.IsNullOrWhiteSpace(spaceStr)); Console.WriteLine("normalStr = {0}", string.IsNullOrWhiteSpace(normalStr)); Console.WriteLine("zenkakuSpaceStr = {0}", string.IsNullOrWhiteSpace(zenkakuSpaceStr)); } }
実行すると、以下の結果になります。
============= String::IsNullOrEmpty ============== nullStr = True emptyStr = True spaceStr = False normalStr = False zenkakuSpaceStr = False ============= String::IsNullOrWhiteSpace ============== nullStr = True emptyStr = True spaceStr = True normalStr = False zenkakuSpaceStr = True
なんと、全角スペースも空白文字として処理してくれてます。
これが、いいのか悪いのかは微妙ですが、ともかく個人的にはとても便利なメソッド
が追加されたと思ってます。