我有一个class
说
class Test
{
int? a;
int b;
}
现在我正在创建test class
Test objTest = new Test();
objTest.b = objTest.a;
这里抛出错误cannot implicitly convert int? to int
。
所以我想出了解决方案
objTest.b = ObjTest.a ?? 0;
在这里工作正常但是!!!
objTest.b = objTest.a == null ? 0 : objTest.a
失败..
为什么基本上都做同样的checking null value and assign value accordingly
答案 0 :(得分:2)
在第二个示例中,您仍然需要将a
强制转换为int。
objTest.b = objTest.a == null ? 0 : (int)objTest.a
将编译。但这只是你提出的第一种方式。