皆さん、私はstring.IsNullOrWhiteSpaceの実装を見ていました:
http://typedescriptor.net/browse/types/9331-System.String
実装は次のとおりです。
public static bool IsNullOrWhiteSpace(string value)
{
if (value == null)
{
return true;
}
for (int i = 0; i < value.Length; i++)
{
if (char.IsWhiteSpace(value[i]))
{
}
else
{
goto Block_2;
}
}
goto Block_3;
Block_2:
return false;
Block_3:
return true;
}
質問:これは複雑すぎませんか?次の実装は同じ仕事をすることができず、目には簡単です:
bool IsNullOrWhiteSpace(string value)
{
if(value == null)
{
return true;
}
for(int i = 0; i < value.Length;i++)
{
if(!char.IsWhiteSpace(value[i]))
{
return false;
}
}
return true;
}
この実装は正しくありませんか?パフォーマンスの低下はありますか?