为什么string和object的别名是小写的?

Evo*_*lor 5 c# alias naming primitive-types complextype

下面是C#中的别名列表(C#中字符串和字符串的区别什么?):

object:  System.Object
string:  System.String
bool:    System.Boolean
byte:    System.Byte
sbyte:   System.SByte
short:   System.Int16
ushort:  System.UInt16
int:     System.Int32
uint:    System.UInt32
long:    System.Int64
ulong:   System.UInt64
float:   System.Single
double:  System.Double
decimal: System.Decimal
char:    System.Char
Run Code Online (Sandbox Code Playgroud)

我可以看到bool通过char为小写的别名,因为它们是原始类型.

为什么对象和字符串没有大写,因为它们是复杂的类型?这是开发人员的疏忽,还是他们必须小写的必要原因?或者这是一个自以为是的问题?

你最终得到的东西string.Format()不是String.Format(),而是看起来很时髦,让我认为string是一个变量.

Seh*_*cht 11

因为所有关键字(保留标识符)都是小写的.


Tim*_* S. 4

在 C# 中,没有“原始类型”和“复杂类型”。其中有classes 和structs(分别是引用类型和值类型)。两者都可以包含方法(例如char.IsDigit('a'))。所以你的反对意见并不成立。但仍然存在一个问题:为什么?

我不确定是否有一个好的来源,但我认为小写别名是为了匹配其他C# 关键字,它们本身是根据 C/C++ 关键字建模的。