当前位置:  开发笔记 > 编程语言 > 正文

使用无符号原始类型

如何解决《使用无符号原始类型》经验,为你挑选了3个好方法。

大多数时候,我们代表的概念永远不会小于0.例如,为了声明长度,我们写道:

int length;

该名称很好地表达了它的目的,但您可以为其指定负值.在某些情况下,您可以通过这种方式更清楚地表达您的意图:

uint length; 

我能想到的一些缺点:

unsigned types(uint,ulong,ushort)不符合CLS,因此您不能将其与其他不支持此语言的语言一起使用

.Net类大多数时候都使用签名类型,因此你必须进行强制转换

思考?



1> Shog9..:

如果您使用值0减去带符号的数字,它将变为负数,您可以轻松地对此进行测试.如果使用值0递减无符号数,则它会下溢并成为该类型的最大值 - 稍微更难检查.



2> Dan Herbert..:

你的第二点是最重要的.通常你应该使用,int因为对于整数值来说这是一个非常好的"全能".我只会使用,uint如果你绝对需要能够计数高于int,但不使用额外的内存long需求(它不是更多的内存,所以不要便宜:-p).



3> Konrad Rudol..:

"在罗马做到入乡随俗."

虽然理论上在使用无符号值时有一个优势,因为它使代码更具表现力,但这根本不是用C#来完成的.我不确定为什么开发人员最初没有设计接口来处理uints和使CLS兼容,但现在火车离开了车站.

由于一致性通常很重要,我建议采用C#之路并使用ints.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有