所以我在 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#。这是为 nullable int 设计的(这种情况)还是我没有正确地做到这一点?我对 c# 比较陌生。