C#里边的结构的是引用类型吗?

C#里边结构体是值类型的吧?结构体没有构造函数的吧?C#里边基础数据类型的包装类都是结构体的啊。没有基础数据类型的类啊。谁能帮我具体解释下C#里面的结构体?

结构是值类型,结构可以有构造函数,这里有两种情况
1. 有有参构造函数,则不能有无参构造函数,因为结构的生命周期是由CLR控制的,空间分配在堆栈上。
2. 没有任何有参构造函数,则可以写一个无参构造函数。

.net中是类的天下,之所以有结构,两个原因
1. 兼容,当与其他代码写的组件沟通的时候
2. 性能,因此堆栈上效率高

如果结构的字节个数超过16个字节,最好使用类。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-03
结构体是值类型
结构可以声明构造函数,但他们必须带参数...
结构不能声明默认构造函数——没有参数的构造函数,或析构函数。
ps:与类的区别
结构是值类型,堆栈分配
类是引用类型,托管堆分配
当你写一个结构的时候,写着写着,哎呀,结构的字节数已经大于16字节了,
就要换成类了。
第2个回答  2011-12-03
C#是值类型的,结构体中可以有构造函数的。
第3个回答  2011-12-03
struct:值类型(无构造函数),例子:
struct Int32
{
MaxValue=218000000;
MinValue=-217999999;
Parse(string a)
{
//*******
}
}
使用:
Int32 b;
Int32 C=1;
Int32 d=Int32.Parse("3");
相似回答