我正在尝试从现有字符串和字符串数组创建字符串数组,如下所示
string[] oldArray = { "Hello", "World" };
string oldString = "test string";
string[] newArray = { oldArray, oldString };
遗憾的是,这不会像写的那样起作用,所以我一直试图想出一种非迭代的方法,用旧的元素填充newArray
。我找到的唯一解决方案是使用任意字符连接,然后使用相同的方法进行拆分。
string[] arr = {"AString", "BString", "CString" }; // Passed to function
...
string arrAsString = String.Join("$", arr) + "$" + DateTime.Today.ToString("M/dd");
return arrAsString.Split('$');
但是我的测试比for
循环慢得多。有没有更好的解决方案?
编辑:回答下面的答案:我没有使用List的原因是因为我在Excel中操作单元格,而我正在使用的API中的范围作为数组返回
答案 0 :(得分:2)
您可以尝试使用Concat
方法:
string[] newArray = oldArray.Concat(new [] { oldString }).ToArray();
或者,如果您不想要固定大小集合,请使用List<T>
。
答案 1 :(得分:2)
我找到的唯一解决方案是使用任意字符连接,然后使用相同的方法进行拆分。
请不要这样做!例如,如果您的任何字符串中包含$
,则会产生意外结果。
您应该使用List<string>
。它很像string[]
,但它的大小可变。
var myList = new List<string> { "Hello", "World" };
myList.Add("test string");