Guid 是原始类型还是复杂类型?

Che*_*hev 2 .net c# types casting object

我们通过原始类型和我们正在扩展的复杂类型来分离扩展方法类。我的问题很简单。Guid 会与字符串、整数、日期时间等一起被视为原始类型吗?或者在描述它时会被视为复杂类型吗?

更新

查看答案后,我非常感谢我能够从一些答案中收集到的澄清。但是,我的印象是好奇害死猫导致猫害死,所以我投票结束我自己的问题。

Ode*_*ded 5

这取决于您所说的“原始数据类型”。

维基百科列出了这两个定义:

  • 基本类型是由编程语言作为基本构建块提供的数据类型。大多数语言允许从基本类型开始递归构造更复杂的复合类型。
  • 内置类型是编程语言为其提供内置支持的数据类型。

根据第一个,Guid是构造类型,而不是原始类型。

根据第二个,它也不是原始类型(因为它在 BCL 中提供,在System命名空间中,并且没有由任何 .NET 语言定义)。


更新:

这就是类的IsPrimitive方法Type所说的:

基本类型是 Boolean、Byte、SByte、Int16、UInt16、Int32、UInt32、Int64、UInt64、IntPtr、UIntPtr、Char、Double 和 Single。

因此,就 .NET 而言,它不是原始类型。


总之:根据上述三个单独的标准,Guid绝对不是一个基本类型。