Geo*_*rge 3 .net c# parameters arguments
我要做的是为我的StreamWriter实例编写一个专用方法,而不是在程序中的随机点上使用它.这会对调用类的位置进行本地化,因为当前的方法存在一些错误.
这就是我现在所拥有的:
public static void Write(string[] stringsToWrite) {
writer = new StreamWriter(stream);
writer.Write("hello");
foreach (string stringToWrite in stringsToWrite) {
writer.Write(" " + stringToWrite + " ");
}
writer.Flush();
}
Run Code Online (Sandbox Code Playgroud)
注意:stream是TcpClient的一个实例
有了这个我能够传递一个变量数组来写,但我不能使用与现有方法相同的方法调用:
writer.WriteLine("hello {0} {1} {2}", variable1, variable2, variable 3);
writer.Flush();
Run Code Online (Sandbox Code Playgroud)
如果我能够将x个变量传递给方法并且循环以这种方式编写每个变量,那将是很好的,但.NET中的可选参数直到v4.0仍然处于测试阶段才会到达.
有任何想法吗?
你可以看一下params关键字:
public static void Write(params string[] stringsToWrite) {
...
foreach (string stringToWrite in stringsToWrite) {
writer.Write(" " + stringToWrite + " ");
}
...
}
Run Code Online (Sandbox Code Playgroud)
那么用法就是你想要的.