我想声明一个具有1个必需参数和4个可选2D数组参数的函数,我该怎么办?我知道要使参数可选,我们应该在函数创建期间在其中放置一个值。
我也看到我在下面做的是错误的并且有"Array initializers can only be used in a variable or field initializer. Try using a new expression instead."
错误
private String communicateToServer(String serverHostname,
String[,] disk = new string[] {{"dummy","dummy"}},
String[,] hdd= new string[] {{"dummy","dummy"}}
String[,] nic= new string[] {{"dummy","dummy"}}
String[,] disk = new string[] {{"dummy","dummy"}}
)
答案 0 :(得分:4)
直接执行此操作是不可能的,但您可以通过执行以下模式获得类似的效果
private String communicateToServer(String serverHostname,
String[,] disk = null,
String[,] hdd= null,
String[,] nic= null) {
disk = disk ?? new string[] {{"dummy","dummy"}},
hdd= hdd ?? new string[] {{"dummy","dummy"}}
nic= nic ?? new string[] {{"dummy","dummy"}}
...
}
基本上使用null
作为默认值,如果null
是转换为实际默认值的值。这确实意味着传递的显式null
将被解释为默认值。