Double是一个类(在vs2010中以蓝绿色显示),double是一种基础数据类型(在vs2010中以蓝色显示)。
如果声明了一个double类型的变量c:double c=3;
c仅仅是一个变量,为什么变量c具有 .tostring()方法?
网上的解释是:c#把double默认的转换成了Double,就是说你申明了一个double的数据,c#会根据这个double数据自动建立一个Double对象
这是什么意思?c 是一个值类型的数据,存储在栈中,如果C#根据这个double数据自动建立一个Double对象,那么这个Double对象应该存储在堆中?那么栈中的变量c如何与堆中对应的对象相联系?难道栈中的变量c存放的是堆中对应对象的地址吗?
double是C#的关键字,编译以后,实际上double就是Double。
由于CLR平台有很多语言,不同语言的关键字不一定相同,但是编译以后实际上都是一样的。
你可以把double看作是Double的别名。
Double是struct,当然是值类型的,存储在栈中的。
追问请问大哥:
为什么别人说Double是个类,而你说Double是一个结构?
你选中Double,按F12转到定义。
别人说Double是一个类并没有错。
值类型继承自ValueType,而ValueType又继承自Object(所以也是类)
ToString()方法来自: