C#中的任意大小的字符串数组

Gol*_*old 3 c# arrays string

我想定义一个字符串数组,但我不知道我需要存储在其中的字符串数量.我可以定义这样的数组,我该如何插入字符串?

ata*_*ata 9

更好地使用这样的列表:

List<string> names = new List<string>();
names.Add(name); ///whatever string you want to insert
Run Code Online (Sandbox Code Playgroud)

稍后如果您需要一系列名称,请致电:

string[] arr = names.ToArray();
Run Code Online (Sandbox Code Playgroud)

如果必须使用字符串数组,那么您应该事先知道大小.如果你不知道大小,那么你可以初始化一些默认长度的数组(比如10).你要做的事情是:

  • 保持已添加到数组中的字符串数
  • 如果它达到默认长度,则重新初始化具有更大长度的数组(例如15)并将所有现有字符串复制到此新数组.
  • 您必须检查此数组的边界,您不希望从尚未使用的索引中读取(即,如果索引大于计数)

所以最好使用list而不是自己做所有这些


Ode*_*ded 6

您可以使用a List<string>,这将在您向其添加项目时进行扩展.

List<string> myList = new List<string>();
myList.Add("string1");
myList.Add("string2");
Run Code Online (Sandbox Code Playgroud)

如果需要,它可以很容易地转换为数组:

string[] stringArray = myList.ToArray();
Run Code Online (Sandbox Code Playgroud)

如果您不知道所需的项目的确切数量,则阵列可能不是一个好的选择,因为您需要调整它的大小(这是一项昂贵的操作).