C# C语言中任意大小的字符串数组#
我想定义一个字符串数组,但我不知道需要在其中存储多少字符串。我可以定义这样一个数组吗?我如何向其中插入字符串?您可以使用C# C语言中任意大小的字符串数组#,c#,arrays,string,C#,Arrays,String,我想定义一个字符串数组,但我不知道需要在其中存储多少字符串。我可以定义这样一个数组吗?我如何向其中插入字符串?您可以使用列表,它将随着您向其中添加项目而展开 List<string> myList = new List<string>(); myList.Add("string1"); myList.Add("string2"); 如果您不知道需要的项目的确切数量,那么数组可能不是一个好的选择,因为您需要调整它的大小(这是一个昂贵的操作)。我将使用List类。您可以根据
列表,它将随着您向其中添加项目而展开
List<string> myList = new List<string>();
myList.Add("string1");
myList.Add("string2");
如果您不知道需要的项目的确切数量,那么数组可能不是一个好的选择,因为您需要调整它的大小(这是一个昂贵的操作)。我将使用List类。您可以根据需要添加任意数量的内容,而无需知道要在其中添加多少内容。如果您确实知道列表中会有多少,可以使用list
的构造函数的capacity参数来防止性能问题
int capacity = 3;
var listOfNames = List<string>(/* optional */ capacity);
listOfNames.Add("My Name 1");
listOfNames.Add("My Name 2");
listOfNames.Add("My Name 3");
var namesArray = listOfNames.ToArray();
int容量=3;
var listOfNames=列表(/*可选*/容量);
姓名列表。添加(“我的姓名1”);
姓名列表。添加(“我的姓名2”);
姓名列表。添加(“我的姓名3”);
var namesArray=listOfNames.ToArray();
我在那里添加了namesArray
行,以防出于某种原因确实需要数组而不是列表
查看查看如何使用列表
更好地使用以下列表:
List<string> names = new List<string>();
names.Add(name); ///whatever string you want to insert
如果您必须使用字符串数组,那么您应该预先知道大小。如果不知道大小,则可以初始化一些默认长度的数组(例如10)。
你必须做的事情是:
- 保留已添加到数组中的字符串的计数
- 如果达到默认长度,则必须使用更大的长度(例如15)重新初始化数组,并将所有现有字符串复制到此新数组
- 您必须检查此数组的边界,不希望从尚未使用的索引中读取(即,如果索引大于count)
因此,最好使用列表,而不是自己完成所有这些工作您可以使用以下内容,如上面(或下面)提到的Oded,当项目添加到列表中时,它将自动展开
List<String> l = new List<String>();
l.Add("your string here");
…并拥有一个数组:
String[] a =
l.ToArray();
使用列表
。例如
var list = new List<string>();
list.Add("string1");
var list=newlist();
列表。添加(“string1”);
如果需要将列表设置为数组,list
有一个ToArray()
方法
内部List
将数据存储为字符串数组。当需要更多空间时,它将分配一个大小为当前数组两倍的新数组,并将所有引用复制到新数组。也就是说,您不必做任何事情,但是如果代码对性能至关重要,那么您可能希望在创建列表时提供默认容量 ArrayList也会起作用
ArrayList alist=新的ArrayList()
增加(第1条);
alist.Add(String2)+1是最明显的答案,尽管您应该添加如何添加项目,因为Gold明确要求:)@OregonGhost-Waaay在您前面;)
foreach(string i in l)
{
// Do something with each item (i);
}
String[] a =
l.ToArray();
var list = new List<string>();
list.Add("string1");