C# 打印包含多个值的 ArrayList

标签 c# arraylist

我是 ArrayList 的新手。据我所知 ArrayLists 每个元素(?)可以包含多个值(请原谅我没有使用正确的术语)。

现在,问题来了,如果我制作一个每个元素只包含一个值的 ArrayList,我可以轻松打印它,但是如下例所示,如果我尝试制作一个每个元素包含多个值的 ArrayList - 我无法打印 ArrayList 中每个元素的值。 如果我尝试使用 foreach 或 for 循环使用 Console.Writeline(list[i]);我得到的只是命名空间。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication13
{
class Register
{
    public string name;
    public string surname;

    public void RegisterData()
    {
        Console.Write("Enter your name: "); name = Console.ReadLine();
        Console.Write("Enter your surname: "); surname= Console.ReadLine();
    }

    public void PrintData()
    {
        Console.WriteLine("Name: " + name + " Surname: " + surname);
    }
}
class Program
{
    static void Main(string[] args)
    {

        ArrayList list = new ArrayList();

        Register temp = new Register();

        temp.RegisterData();

        list.Add(temp);

        for (int i = 0; i < list.Count; i++)
        {
            // How can I use the PrintData (without modifying it) method to print the ArrayList values?
        }
    }
}
}

如何在不使用 PrintData 方法的情况下打印 ArrayList 的值?

提前致谢!

最佳答案

ArrayList 是 .NET 1.1 的东西。您应该改用 List。它是通用的并且优于 ArrayList

所以你定义你的列表

List<Register> list = new List<Register>();

...

list.Add(temp);

并且在 foreach 循环中,您可以访问 Register 类的属性。您也可以使用 ArrayList 来做到这一点。但是你需要类型转换。为什么不使用 List 呢……看起来更干净:

foreach (Register register in list)
{
    Console.WriteLine("Name: " + register.name + " Surname: " + register.surname);
    // or
    // register.PrintData();
}

关于C# 打印包含多个值的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29548712/

相关文章:

c# - 在 MySQL 中获取多个 LastInserted ID?

java - 非常大的 Java ArrayList 遍历时间很慢

java - 从 ArrayList 创建默认表

java - 如何使用 Scanner 将元素添加到 ArrayList 中

c# - 为范围内的每个索引做一些事情

c# - 复制功能

c# - C# (.Net) 中的异常类 : When to Derive from it,?

c# - C# 中 networkstream.read() 的奇怪行为

java - 如何在二维 arrayList 中设置特定索引

java - 循环自列表