【发布时间】:2020-04-11 15:48:53
【问题描述】:
我觉得这有一个非常简单的答案,但我无法得到它,但这是我在互联网上没有找到任何相关内容后对它的看法。
本质上,我想用 C# 中的 javascript 做这样的事情:
var abc = ["a", "b", "c"]
var abcd = [...abc, "d"]
将一维数组abc的内容“传播”到另一个一维数组abcd,在初始化时添加新值。
但是,在 C# 中复制此行为将无法按预期工作:
string[] abc = { "a", "b", "c" };
string[] abcd = { abc, "d" };
我在 C# 中最接近复制的方法是使用列表,如下所示:
string[] abc = { "a", "b", "c" };
var abcd = new List<string>();
abcd.AddRange(abc);
abcd.Add("d");
我可以在上面的例子中保存一行,直接用“d”字符串初始化列表(顺序对我来说并不重要,我只是检查集合是否包含某个我正在寻找的项目),但与初始化数组相比,使用 List 本身效率非常低,因为我无意稍后修改或添加项目。
有什么办法我可以在一行中从其他一维数组初始化一维数组吗?
【问题讨论】:
标签: c# arrays initialization