在C#中的List中保存不同类型的数据

时间:2012-06-28 01:18:16

标签: c# printing

我有几个数据,如姓名,身份证,年龄,地址,电话。每次用户输入数据时,它都会保存到List<>。我正在为每个数据使用List<>。还有其他选择我只能使用一个List<>。哪个可以保存所有数据?

这是我的代码。

List<String> list1 = new List<String>();
                list1.Add(name);
List<String> list2 = new List<String>();
                list2.Add(ID);
List<String> list3 = new List<String>();
                list3.Add(age);
List<String> list4 = new List<String>();
                list4.Add(address);
List<String> list5 = new List<String>();
                list5.Add(phone);

for (int a = 0; a < list.Count; a++) // Loop through List with for
{                        
    listBox1.Items.Add(list1[i]);
}
for (int a = 0; a < list.Count; a++) // Loop through List with for
{                        
    listBox2.Items.Add(list2[i]);
}
for (int a = 0; a < list.Count; a++) // Loop through List with for
{                        
    listBox3.Items.Add(list3[i]);
}
for (int a = 0; a < list.Count; a++) // Loop through List with for
{                        
    listBox4.Items.Add(list4[i]);
}
for (int a = 0; a < list.Count; a++) // Loop through List with for
{                        
    listBox5.Items.Add(list5[i]);
}

我还想过使用listbox来打印数据。我的另一个选择是只打印一个列表框中的每个数据。

5 个答案:

答案 0 :(得分:7)

当然,宣布一个这样的类......

public class Person
{
    public Guid   ID      { get; set; }
    public string Name    { get; set; }
    public int    Age     { get; set; }
    public string Address { get; set; }
    public string Phone   { get; set; }
}

并像这样使用..

List<Person> personList = new List<Person>();
personList.Add(new Person { Name    = "Max", 
                            ID      = Guid.NewGuid, 
                            Address = "Unicorn Lane, Unicorn World", 
                            Age     = 26, 
                            Phone   = "123456" });

答案 1 :(得分:1)

为什么不用这些字段创建对象(类)。 然后你可以创建一个“用户”对象数组。

每当传递数据时,您只需要创建对象的新实例,然后将其添加到数组中。

答案 2 :(得分:0)

您可以使用人物对象,设置人物的属性并将人物添加到列表中

List<Person>

答案 3 :(得分:0)

创建是您问题的最佳解决方案,使用List<YourClass>

答案 4 :(得分:0)

如果您不想为它创建一个类,还可以使用另一个选项来使用最新版本的C#。使用元组。

var mylist = new List<Tuple<Guid,string,int,string, string>>();
myList.Add(new Tuple<Guid,string,int, string, string>(Guid.New(), "name", 18, "123    street", "1231231234"));

稍后,您可以将其作为

进行访问
var firstId = myList[0].Item1;
var firstName = myList[0].Item2;