可能重复:
Why do primitive types in C# have their own operations?
我正在学习C#,我发现以下代码令人困惑:
int.Parse();
原始数据类型如何具有函数?
答案 0 :(得分:2)
原始数据类型是结构。可以找到关于“原生”结构的差异的一个很好的解释here。
答案 1 :(得分:1)
.net框架中的原始类型为structure
。
答案 2 :(得分:1)
答案 3 :(得分:0)
在C#中,诸如int之类的类型是混合的 - 它们都是包含值的原始值类型,但它们也是结构 - System.Int32 - 包含方法,两个实例方法(可以调用{{ 1}},甚至是myInt.ToString()
)和静态方法(5.ToString()
,它是int.Parse()
的简写。
答案 4 :(得分:-1)
根据.net规范数据类型分为基于堆栈或基于堆的变量。这种区别在于如何以及在何处存储变量。基于堆栈的变量按值存储。
现在专注于你的问题,int如何有功能。如果你遍历每个整数数据类型,如int,short,decimal,string,double,long ..都有一个对应的基于类的类。
.net编译器在内部将整数类型(基元)转换为基于堆的表示。
所以int变成Int32 short变成int16
等等。
BTW,整数类型,结构,枚举是基于堆栈的变量,它们直接存储在存储器中而不是作为参考。