紧急问个问题,怎么在传入的params object[] args中插入项
例如
public void test(params string[] args)
{
//怎么在args的最前面增加一项
//args.push("一项新的");
MessageBox.Show(string.Format("{0}{1}{2}{3}",args));
}
------解决方案--------------------static void Main(string[] args)
{
test("1", "2", "3");
}
public static void test(params string[] args)
{
args = new string[] { "新的" }.Concat(args).ToArray();
Console.WriteLine(string.Format("{0}{1}{2}{3}", args));
}
------解决方案--------------------那就新建一个数组,复制过去不就得了。代码由你写了,别人还有什么特别的要求吗?
C# code
string[] more = new string[args.Length + 1];
more[0] = "一项新的";
Array.Copy(args, 0, more, 1, args.Length);
MessageBox.Show(string.Format("{0}{1}{2}{3}", more)); //args));
------解决方案--------------------
如果只是像代码中这样简单拼接,用String.Join就好了:
C# code
//如果args的长度固定为3的话
MessageBox.Show("一项新的" + string.Join("", args));
//否则
MessageBox.Show("一项新的" + string.Join("", args, 0, 3));