假设我有一个数组

string[] A = {"1","2","3","4","5"}


我希望数组的大小为10,并想在某个索引之后插入空白字符串。

例如,我可以将其设置为10,并在索引3之后插入字符串,这将导致

A = {"1","2","3","4","","","","","","5"}


基本上,给定索引之后的元素将被推到末尾,空白字符串将占据它们之间的空白。

这是我尝试过的方法,但是它只添加了一个字符串,并没有为数组精确设置大小

var foos = new List<string>(A);
foos.Insert(33, "");
foos[32] = "";
A = foos.ToArray();

最佳答案

您可以使用InsertRange

var l = new List<string>{"1","2","3","4","5"};
l.InsertRange(3, new string[10 - l.Count]);
foreach(var i in l)
    Console.WriteLine(i);


注意:上面没有用空字符串而是空值填充,但是您可以轻松地修改用于填充的new string[]并使用所需的默认值。

例如;见How to populate/instantiate a C# array with a single value?

07-28 03:36
查看更多