在查看C#数字数据类型时,我注意到大多数类型都有带符号和无符号版本。我注意到,虽然“默认”整数short和long是带符号的,并且它们的无符号对应对象是uint,ushort和ulong;相反,“默认”字节是无符号的-在sbyte中有一个已签名的对应部分。

只是出于好奇,为什么字节与其余字节如此不同?是这背后的特定原因还是“事物的现状”?

希望由于我的措辞和过多使用引号,这个问题不会太令人困惑。 h

最佳答案

我会说一个字节不被认为是数字类型,而是定义了一个8位大小的结构。除了没有带符号字节的概念外,它是无符号的。另一方面,数字首先被认为是带符号的,因此声明它们是无符号的,这是较不常见的保证前缀

[编辑]
忘了有一个有符号的字节(sbyte)。我认为这是相当历史和实际的应用。整数比UInt更常见,字节比sbyte更常见。

关于c# - C#数值数据类型命名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3615042/

10-12 14:21
查看更多