0

このコードは次のとおりです。

public string GetSomething(string someValue)
{
   var x = Convert.ToString(someValue);
   return x.SomeStringMethod(); // e.g. x.ToLower(); 
}

これと比較して、私が懸念すべき問題があります。

public string GetSomething(string someValue)
{
   var x = someValue ?? string.Empty;
   return x.SomeStringMethod(); // e.g. x.ToLower(); 
}
4

2 に答える 2

4
Convert.ToString(x)

wherexは string 型で null で、 を返すnullため、 と同じことはしません

someValue ?? string.Empty;

行からの null 参照例外を回避するには、2 番目の方法を使用する必要があります。

 x.SomeStringMethod();

より読みやすいのは、次のようにすることです。

if (someValue != null)
    return someValue.SomeStringMethod();
else
    return "";
于 2013-07-03T12:46:25.250 に答える
0

文字列が空で、空の文字列を返したい場合は、次のように提案します。

var x = String.IsNullOrEmpty(someValue) ? string.Empty:someValue;
return x.SomeStringMethod();

を回避し、nullReferenceException空または null の場合は空の文字列を返し、そうでない場合は実際の文字列を返します。

万が一、その文字列の結果が null であることをユーザーに伝えたい場合は、次のようにすることができます。

var x = String.ReferenceEquals(someValue, null) ? "null" : someValue;
return x.SomeStringMethod();
于 2013-07-03T13:15:47.433 に答える