将项添加到string []数组

mrb*_*lah 3 c# arrays

我的类有一个string []类型的属性.

我需要创建另一个数组项,是否必须重置大小并复制所有以前的项目?

Gre*_*ech 14

您可以使用Array.Resize哪个将保留数组的内容.

例如

var array = myClass.SomeArrayProperty;
Array.Resize(ref array, newSize);
myClass.SomeArrayProperty = array;
Run Code Online (Sandbox Code Playgroud)

您需要使用临时变量,因为属性不能用作ref参数.

  • 当然是; 数组具有固定的大小.然而问题是"做*我必须",答案是否定的,因为内置了这个功能. (2认同)

Joe*_*orn 6

如果它是您的类,您应该更改属性以使用IList<string>,ICollection<string>或者IEnumerable<string>,取决于您预期将使用此属性的方式.然后,无论您选择从函数返回哪一个,请尝试List<string>在类型本身中使用a .


Ryu*_*Ryu 5

是的,如果你想能够动态追加物品使用一个List.

虽然最好不要将List作为属性公开,但是使用IList<string>IEnumerable<String>替代.