问题描述
c#里的结构体是值类型为什么我在使用结构体的时候必须要这样struct1t=newstruct1();否则会提示我t未赋值呢
解决方案
解决方案二:
谁说的啊,你可以直接struct1t;t.x=xx;t.y=xx;这样实例话
解决方案三:
你可以在msdn上看看结构的特点及相关知识结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。结构不能声明默认构造函数(没有参数的构造函数)或析构函数。结构是值类型,而类是引用类型。向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。与类不同,结构的实例化可以不使用new运算符。结构可以声明构造函数,但它们必须带参数。一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自System.ValueType,后者继承自System.Object。结构可以实现接口。在结构中初始化实例字段是错误的。
解决方案四:
你肯定是那里出错了,2楼是正确的,结构体有点烦,这里有一段c++写的代码段,是关于结构体的,我想问问怎么用c#语言写出来publicvaluestructStateObject{public:staticSocket^workSocket=nullptr;staticconstintbuffersize=1024;staticarray<Byte>^bytes=gcnewarray<Byte>(buffersize);//staticStringBuilder^sb=gcnewStringBuilder();};
解决方案五:
顶一个先!!!
解决方案六:
直接struct1t;
解决方案七:
struct1t;t.x=xx;t.y=xx
时间: 2024-09-29 19:27:50