そこで、C# でカスタムの int.tryparse メソッドを作成して、物事をもう少し簡単に、よりきれいに見えるようにしました。メソッドは次のとおりです。
public static int? BoolIntParse(string number)
{
int temp;
if (int.TryParse(number, out temp))
return temp;
else
return null;
}
今、私はこの方法でそれを使用しようと思います:
if(int? someNumber = BoolIntParse(someString))
{
//do some stuff if its a number
}
else
//throw some error
うまくいかないようです。また、次のような条件の前に値を割り当ててみました。
int? someNumber = BoolIntParse(someString);
if(someNumber)
{
//do some stuff if its a number
}
else
//throw some error
そして、エラーメッセージが表示されますCannot implicitely convert type int? to bool
したがって、これは合法的な c# ではありません。これは、nullible int が設計されたもの (このタイプの状況) ですか、それとも正しく実行していないだけですか? 私は比較的C#に慣れていません。