c#结构体初始化

如题所述

Point pt = new Point();
这种是调用默认构造器,每个字段赋为二进制0值。

Point pt = new Point{ x = 0, y = 0 };
这种类似于cpp的括号初始化,需要给每个用到的字段设public。效果等价于分别赋值

由于结构体不允许自定义默认构造器,你可以定义带参构造器。也是一种方法。

另外结构体存在于栈上,而c#不会给栈上变量赋默认值,并且要求必须先赋值后使用。所以定义之后记得给所有字段都赋值一下。如果自定义构造器,别忘了构造器里面也要这样做。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-30
public struct InPut
{
public string _ref1;
public string _ref2;
public string _mask1;
public string _mask2;
public string _mask3;
public string _mapping;
public string _result;
public int _pos;
public int _gop;

};

InPut T=new InPut();
结构体里面的变量和函数要申明为public不然在外面调用不到本回答被网友采纳
相似回答