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()});似乎不起作用。