1
5
在罗马时,要像罗马人那样做。
虽然理论上使用无符号值(如果适用)有一个优势,因为它使代码更具表现力,但这并不是用C实现的。我不知道为什么开发人员最初没有设计接口来处理
由于一致性通常很重要,我建议走C路并使用
|
2
5
如果用0值递减一个有符号的数字,它将变为负数,您可以很容易地对此进行测试。如果用0值递减一个无符号数字,它就会下溢并成为该类型的最大值,这会比较难检查。 |
3
5
你的第二点是最重要的。一般来说,你应该只使用
|
4
2
我认为,除非将uint与int的微妙用法写入公司的开发人员指南中,否则它会让开发人员感到困惑。 例如,如果长度不能小于零,那么应该在业务逻辑中清楚地表示出来,以便未来的开发人员能够阅读代码并知道真正的意图。 只有我的2美分。 |
5
2
我会指出,在C中,你可以打开
对于内部代码(即在任何与其他语言的互操作管理中都不会引用的代码),当情况允许时,我投票赞成使用无符号代码,例如
有符号与无符号辩论的另一个观点是,有些程序员使用-1这样的值来表示错误,否则它们就没有意义。我同意这样的观点,即每个变量应该只有一个目的,但是如果您(或与您一起编码的同事)喜欢用这种方式表示错误,那么让变量签名可以让您以后灵活地添加错误状态。 |
6
0
你的两点很好。不过,避免这种情况的主要原因是铸造。铸造使他们难以置信的烦人使用。我曾经尝试过使用未签名的变量,但是我必须将强制转换撒在任何地方,因为框架方法都使用有符号整数。因此,无论何时调用框架方法,都必须强制转换。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |