如何动态地在数组列表中存储值
本文关键字:列表 数组 存储 何动态 动态 | 更新日期: 2023-09-27 18:11:22
这是一个非常基本或相当简单的问题。在我的代码中,我使用foreach value将值放入字符串变量中。对于每个迭代,我想在数组列表中存储(一个接一个地添加)变量值。然后根据索引检索数组列表的值
代码I'm try:
foreach(string abc in namestring)
{
string values = abc;
ArrayList list = new ArrayList();
list.Add(values);
}
例如:
如果'namestring'包含tom, dik, harry。那么"list"应该是包含list(0) = tom, list(1) = dik, list(2) =哈利。
问题是在arraylist
您必须在循环外声明您的ArrayList
:
ArrayList list = new ArrayList();
foreach(string abc in namestring)
{
list.Add(abc);
}
如果你使用的是。net 2.0及以上版本,你应该使用强类型的List<string>
:
List<string> list = new List<string>();
在foreach上声明ArrayList list = new ArrayList();
您可能希望在foreach
循环之前创建列表。如果你在collection new list中创建foreach string,然后忘记了它的引用
看起来你的namestring已经是一个集合(实现ICollection)…如果是这样,可以不使用循环。
ArrayList list = new ArrayList();
list.AddRange(namestring);
return list;
或
List<string> list = new List<string>();
list.AddRange(namestring);
return list;
或者简单地使用构造函数
ArrayList list = new ArrayList(namestring);
或
List<string> list = new List<string>(namestring);
var list = new ArrayList();
foreach(string abc in namestring)
{
list.Add(abc);
}
可以修复将"new ArrayList()"行移出foreach的问题。
无论如何……
如果'namestring'包含tom, dik, harry。那么"list"应该是包含list(0) = tom, list(1) = dik, list(2) = harry
namestring已经包含了这些,如namestring[0] = tom等,所以你可以直接使用