我最近一直在研究C#,有一种叫做"预定义类型"的东西.我认为这是原始类型的另一个名称.但我的朋友告诉我,那些安静的彼此不同.只是感到困惑.
这些是相同但不同的名字吗?还是那些完全不同?
在Type.IsPrimitive文档页面中,有一个完整的基元类型列表:
基元类型是布尔,字节,SByte,Int16,UInt16,Int32,UInt32,Int64,UInt64,IntPtr,UIntPtr,Char,Double和Single.
第1.2.1节(预定义类型)明确区分了这些和预定义的引用类型:
预定义的引用类型是
object和string.类型object是所有其他类型的最终基本类型.该类型string用于表示Unicode字符串值.
所以我想很明显它们是不同的 - 至少在.NET术语中.
预定义是编译器特别支持的类型。它们在System命名空间中为 .NET 框架类型起别名。它们也称为内置类型。
编译器如何支持它们?他们有自己的关键词。例如int关键字用于预定义System.Int32类型。这意味着当您在 C# 中定义整型变量时,可以通过键入以下内容来实现:
int myIntVar = 3;
代替
System.Int32 myIntVar = 3;
但这只是语法上的差异。
原始类型是所有预定义的值类型减去十进制类型。我画了一个草图来证明这一点:
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
2118 次 |
| 最近记录: |