我有一個參數的結構:C#結構部分初始化
public struct MyParams
{
public int Param1;
public int Param2;
public string Param3;
public string Param4;
}
這是在應用程序使用共同的結構。還有一些情況是我只需要初始化一個成員,另一個不用。我可以初始化結構是這樣的:
MyParams testParams = default(MyParams);
testParams.Param2 = 3;
FunctionX(testParams);
而且我可以初始化結構中的函數調用直接的,但在這種情況下,我必須爲所有的成員指定的值:
FunctionX(new MyParams{Param1=0,Param2=3,Param3=string.Empty,Param4=string.Empty});
我的問題是我可以初始化在函數調用行中的結構,並指定只有一個足夠我的成員和另一個成員將採取默認值
在此先感謝!
哇。看來,我一直與結構初始化臨時混淆。它真的有可能調用FunctionX(new MyParams {Param2 = 0});和蜜蜂開心。謝謝你的回覆! – 2011-04-04 08:28:35
所以答案是**是的,你可以** – 2011-04-04 08:30:18
調用'FunctionX(new MyParams(){Param2 = 0});'將與FunctionX(new MyParams())相同;' – Jaymz 2011-04-04 08:30:56