删除数组的特定项

Ano*_*urn 2 c# arrays indexing

string[] columns
Run Code Online (Sandbox Code Playgroud)

我想删除由int类型的变量指定的索引上的项.

我该怎么做呢 ?

我试过了

columns.RemoveAt(MY_INT_HERE);
Run Code Online (Sandbox Code Playgroud)

但显然这不起作用.

Dmi*_*nko 8

数组是不可变类,你无法改变它,你所能做的就是重新创建它:

List<String> list = columns.ToList(); // <- to List which is mutable
list.RemoveAt(MY_INT_HERE);           // <- remove 
string[] columns = list.ToArray();    // <- back to array
Run Code Online (Sandbox Code Playgroud)

可能最好的解决方案是重新设计代码:将不可变数组更改为List<String>:

  List<String> columns = ...
  columns.RemoveAt(MY_INT_HERE);
Run Code Online (Sandbox Code Playgroud)