我有一个参数struct:
public struct MyParams
{
public int Param1;
public int Param2;
public string Param3;
public string Param4;
}
这是跨应用程序使用的常见结构。还有一些情况我需要初始化只有一个成员,所有其他成员都没有使用。我可以这样初始化struct:
MyParams testParams = default(MyParams);
testParams.Param2 = 3;
FunctionX(testParams);
此外,我可以在函数调用中初始化struct direct,但在这种情况下,我必须为所有成员指定值:
FunctionX(new MyParams{Param1=0,Param2=3,Param3=string.Empty,Param4=string.Empty});
我的问题是我可以在函数调用行中初始化结构,只指定一个对我来说足够的成员而另一个成员将采用默认值
提前致谢!
答案 0 :(得分:3)
答案 1 :(得分:2)
初始化struct
时,所有成员都将初始化为默认值:
MyParams p = new MyParams() { Param3 = "Test" };
这将离开你:
Param1 == 0;
Param2 == 0;
Param3 ==“测试”;
Param4 == null;