如何从Arraylist中获取数据

And*_*y12 1 c# arraylist

所以在之前的问题中,我问我如何将多个数组列表合并到一个数组列表中.

这个答案有效(也在下面列出).但是,我在记录中遇到问题.如何从这个多维arraylist中获取数据.例如,如果我想获得地址,该怎么办?

ArrayList Names = new ArrayList(); 
ArrayList Phone = new ArrayList(); 
ArrayList Address = new ArrayList(); 
ArrayList res = new ArrayList();  
for(int i=0; i<Names.Count; i++) 
{   
  res.Add(new string[]{Names[i].ToString(), Phone[i].ToString(), Address[i].ToString()}); 
} 
Run Code Online (Sandbox Code Playgroud)

Qui*_*son 6

您可以执行以下操作...我想确保并且我注意到您可能想要提供更好的数据结构或容器类(如果可以).

string someAddress = ((string[])res[0])[2];
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我们将对象(字符串数组)放在第一个索引处res,然后索引到存储地址的字符串数组中.

您可以考虑使用类型列表来包含您的数据,如下所示.

public class Person
{
    public string Name { get; set; }
    public string Phone { get; set; }
    public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...

List<Person> people = new List<Person>();
people.Add(new Person() { Name = "Not Me", Phone = "(555) 212-1234", Address = "123 Fake St." });

string address = people[0].Address;
Run Code Online (Sandbox Code Playgroud)