请教:C#中属性初始化时赋值=-0的具体含义是什么?
关于C#代码中
= -0的含义解析 先看你给出的代码:
public class Subject { public int State { get; set; } = -0; }
在C#里,int类型的-0和普通的0没有任何区别。因为整数采用二进制补码存储,0的补码是唯一的,负号对0做运算不会改变它的实际值——编译器在编译时会直接把-0优化成0。
这种写法要么是开发者的笔误(比如不小心多打了负号,或是原本想写其他数值),要么就是一种无意义的冗余写法,没有任何特殊功能,最终效果和直接写= 0完全一致。
内容的提问来源于stack exchange,提问作者user3896162
相关产品推荐
相关产品推荐

