在三元运算符中将可空int赋值给int

本文关键字:int 赋值 运算符 三元 | 更新日期: 2023-09-27 18:04:21

我有一个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

在三元运算符中将可空int赋值给int

在第二个示例中,您仍然需要将a强制转换为int类型。

objTest.b = objTest.a == null ? 0 : (int)objTest.a

将编译。但是按照你想到的第一种方法来做。