.NETチームが(ソースを見つけます...)プリミティブ型の解析メソッドの設計を後悔していると述べていることを考えると(たとえばInt32.TryParse(String s, out Int32 result)
)、なぜこれらはより明白でクライアントフレンドリーなバリアントで更新されていないのですか?
フレームワークバージョン:
Int32? numValue;
Int32 placeHolder;
if (! Int32.TryParse("not a number", out placeHolder))
numValue = 10;
改善されたバージョン:
var numValue = Int32.Parse("not a number", 10);
改善された解析方法の署名は次のとおりです。
public static Int32? Parse(String s, Int32? defaultValue = null);
そして、それは以下の素朴な実装を持っているかもしれません:
public static Int32? Parse(String s, Int32? defaultValue = null) {
Int32 temp;
return ! Int32.TryParse(s, out temp)
? defaultValue
: temp;
}