C# 如何从Arraylist中获取数据

C# 如何从Arraylist中获取数据,c#,arraylist,C#,Arraylist,所以在一次会议上,我问如何将多个数组列表合并到一个数组列表中 工作(也列在下面)。然而,我在把记录拿出来时遇到了问题。如何从多维数组列表中获取数据。例如,如果我只想把地址拿出来怎么办 ArrayList Names = new ArrayList(); ArrayList Phone = new ArrayList(); ArrayList Address = new ArrayList(); ArrayList res = new ArrayList(); for(int i=0;

所以在一次会议上,我问如何将多个数组列表合并到一个数组列表中

工作(也列在下面)。然而,我在把记录拿出来时遇到了问题。如何从多维数组列表中获取数据。例如,如果我只想把地址拿出来怎么办

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()}); 
} 
ArrayList name=new ArrayList();
ArrayList Phone=新的ArrayList();
ArrayList地址=新的ArrayList();
ArrayList res=新的ArrayList();

对于(inti=0;i您可以执行以下操作……我想确保,并且我注意到,如果可以的话,您可能希望提出更好的数据结构或容器类

string someAddress = ((string[])res[0])[2];
在本例中,我们在
res
的第一个索引处获取对象(字符串数组),然后索引到存储地址的字符串数组中

你可以考虑一个类似的东西,用一个类型化的列表来包含你的数据。

public class Person
{
    public string Name { get; set; }
    public string Phone { get; set; }
    public string Address { get; set; }
}

List people=newlist();
添加(newperson(){Name=“notme”,Phone=“(555)212-1234”,Address=“123 Fake St.”);
字符串地址=人[0]。地址;

您可以执行以下操作……我想确认一下,并且我注意到,如果可以的话,您可能希望提出更好的数据结构或容器类

string someAddress = ((string[])res[0])[2];
在本例中,我们在
res
的第一个索引处获取对象(字符串数组),然后索引到存储地址的字符串数组中

你可以考虑一个类似的东西,用一个类型化的列表来包含你的数据。

public class Person
{
    public string Name { get; set; }
    public string Phone { get; set; }
    public string Address { get; set; }
}

List people=newlist();
添加(newperson(){Name=“notme”,Phone=“(555)212-1234”,Address=“123 Fake St.”);
字符串地址=人[0]。地址;

就我个人而言,我会把它做成一个结构

public struct Record
{
  public String Name;
  public String Telephone;
  public String Address;
}
并将信息推送到结构中,然后重新引用它们。类似于:

ArrayList records = new ArrayList();
for (...) {
  records.Add(new Record(){
    Name = Names[i].ToString(),
    Telephone = Phone[i].ToString(),
    Address = Address[i].ToString()
  });
}
...
Console.WriteLine(records[0].Address);

就我个人而言,我会把它做成一个结构

public struct Record
{
  public String Name;
  public String Telephone;
  public String Address;
}
并将信息推送到结构中,然后重新引用它们。类似于:

ArrayList records = new ArrayList();
for (...) {
  records.Add(new Record(){
    Name = Names[i].ToString(),
    Telephone = Phone[i].ToString(),
    Address = Address[i].ToString()
  });
}
...
Console.WriteLine(records[0].Address);

假设这是.NET 2.0,而不是以后的版本,那么您必须坚持使用
ArrayList
,我只会引入一个新类来保存您的信息

public class Person
{
    private string _name;
    public string Name { get { return _name; } }
    public Person(string name, string phone, string adress)
    {
        _name = name;
        ...
    }
}

然后您可以在arraylist中填充该类的实例并访问其属性。

假设这是.NET 2.0,而不是以后的版本,因此您必须坚持使用
arraylist
,我将引入一个新类来保存您的信息

public class Person
{
    private string _name;
    public string Name { get { return _name; } }
    public Person(string name, string phone, string adress)
    {
        _name = name;
        ...
    }
}

然后,您可以在arraylist中填充该类的实例并访问其属性。

我可以问一下为什么要像您这样创建数组列表吗?在我看来,您最好创建一个自定义对象,该对象有3个属性->名称、电话和地址,只需创建这些对象的列表:

住院类别:

public class Resident
{
  public string Name { get; set; }
  public string Phone { get; set; }
  public string Address { get; set; }
}
代码:

列表居民=新列表();
//填充列表
foreach(居民的风险值)
控制台写入线(存储地址);

我能问一下为什么要像现在这样创建数组列表吗?在我看来,最好创建一个自定义对象,该对象有3个属性->名称、电话和地址,只需创建这些对象的列表:

住院类别:

public class Resident
{
  public string Name { get; set; }
  public string Phone { get; set; }
  public string Address { get; set; }
}
代码:

列表居民=新列表();
//填充列表
foreach(居民的风险值)
控制台写入线(存储地址);

你为什么要首先使用
ArrayList
?自从.net 2.0(被
List
取代)以来,它实际上已经过时了。你为什么要首先使用
ArrayList
?自从.net 2.0(被
List
取代)以来,它实际上已经过时了。我们在“前一个问题”中提到过这一点(),但他似乎是被迫使用arraylist(或是下定决心使用arraylist)。这绝对是一种有趣的方法。我可以说,我以前从未见过:)我们在“上一个问题”()中试图提到这一点,但他似乎是被迫使用arraylist(或是下定决心使用arraylist)。这绝对是一种有趣的方法。我可以说,我以前从未见过:)所以我尝试了这个想法,但仍然不起作用。我正在从notes数据库中获取我的值。例如,要将地址放入字符串变量中,我需要执行以下操作:字符串addr=((object[])(doc.GetItemValue(“address”))[0];为了让它进入一个变量,它不会让我把它放在那个列表中。e、 g people.Add(newperson(){Address=((object[])(doc.GetItemValue(“Address”))[0].ToString()});似乎不起作用。所以我尝试了这个想法,但仍然不起作用。我正在从notes数据库中获取我的值。例如,要将地址放入字符串变量中,我需要执行以下操作:字符串addr=((object[])(doc.GetItemValue(“address”))[0];为了让它进入一个变量,它不会让我把它放在那个列表中。e、 g people.Add(newperson(){Address=((object[])(doc.GetItemValue(“Address”))[0].ToString()});似乎不起作用。