Ste*_*a D 1 c# integer nullable conditional-statements
所以我在c#中创建了一个自定义的int.tryparse方法,试图让事情变得更简单,更清晰.这是方法:
public static int? BoolIntParse(string number)
{
int temp;
if (int.TryParse(number, out temp))
return temp;
else
return null;
}
Run Code Online (Sandbox Code Playgroud)
现在,我想尝试以这种方式使用它:
if(int? someNumber = BoolIntParse(someString))
{
//do some stuff if its a number
}
else
//throw some error
Run Code Online (Sandbox Code Playgroud)
哪个似乎不起作用.我也尝试在condtional之前分配值,例如:
int? someNumber = BoolIntParse(someString);
if(someNumber)
{
//do some stuff if its a number
}
else
//throw some error
Run Code Online (Sandbox Code Playgroud)
我收到错误消息 Cannot implicitely convert type int? to bool
所以这不是合法的c#.这是一个nullible int是为(这种情况)设计的,还是我没有正确地做到这一点?我对c#比较新.
你想检查一下someNumber.HasValue.这应该是你的条件.
if (someNumber.HasValue)
或作为替代方案,由@BrokenGlass提及:
if (someNumber != null)
| 归档时间: |
|
| 查看次数: |
2776 次 |
| 最近记录: |