关于字符串的不同意见是一种原始类型

İlk*_*mov 3 .net c# string types primitive-types

如您所知,MSDN库说string,decimal并且object不是原始类型.我正在分享一个关于此的引用:

基元类型是布尔,字节,SByte,Int16,UInt16,Int32,UInt32,Int64,UInt64,IntPtr,UIntPtr,Char,Double和Single.

我们也可以通过typeof(typeName).IsPrimitive财产来测试它.另外,我string也在阅读有关stackoverflow.com类型的讨论.

现在我正在读一本名为CLR的书,通过C#(第四版),这本书说(第112页):

CLR通过C#,第四版(杰弗里里希特)

如你所见,作家(杰弗里里希特)提到所有这些都是原始类型.那么,任何人都可以澄清一下,他的意思是什么?为什么这些string,decimal,object,和dynamic类型是原语列表?

Jon*_*eet 7

我不会亲自打电话dynamic,decimal,objectstring原始类型.我会Type.IsPrimitive在那里使用规范来源.请注意,这dynamic甚至不是CLR意义上的类型.

C#5 MS规范仅使用"原始"一词两次 - 一次在引言中,一次在引号中.即将推出的ECMA C#5标准根本不使用它.鉴于CLR类型的术语"原始" 明确定义的,并且不是 C#标准化术语的一部分,以这种方式使用它似乎是一个坏主意.(有些地方C#规范和CLR不同意,例如可用的转换,结构是否具有无参数构造函数等.这有点不同,更尴尬.)

在标准C#术语中,有简单类型 - 但这些只是有关键字的值类型.

我在C#5 MS规范或ECMA标准中看不到任何描述"描述类型的关键字"的术语.