如何动态地在数组列表中存储值

本文关键字:列表 数组 存储 何动态 动态 | 更新日期: 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等,所以你可以直接使用