我有两个变量。
int x = 1;
uint y = 2;
类型必须保持int
和uint
。但是我不能用它们进行基本的算术运算。
y += x;
无法将类型“int”隐式转换为“uint”。存在显式转换(您是否缺少演员表?)
所以我每次都必须做这样的事情?
if (x < 0)
{
y -= (uint)Math.Abs(x);
}
else
{
y += (uint)x;
}
来自 C/C++/Java 背景,这让我很困惑。
我在这里缺少什么吗?
为什么这种行为与提到的其他语言不同?
有更好的选择吗?
我认为这是该语言新手的常见绊脚石。
不,我不依赖下溢。