如何显示对象列表的内容

本文关键字:列表 对象 何显示 显示 | 更新日期: 2023-09-27 18:28:03

我是新手,所以越简单越好。我创建了一个类,其中包含项目的详细信息,如项目名称、价格和描述。我创建了一个构造函数,这样我就可以在创建时初始化对象。

class Item
{
    string itemName;
    double price;
    string description;
    public Item(string itemName, double price, string description)
    {
        this.itemName = itemName;
        this.price = price;
        this.description = description;
    }
}

在主类中,我创建了对象的List和该类的两个对象。然后我在List中添加了这两个对象。如何显示每个对象及其值?我试着用前臂,但不知道怎么用。

static void Main(string[] args)
{
    Item item1 = new Item("Ball", 9.99, "This is a ball");
    Item item2 = new Item("Toy Car", 20.00, "This is a toy car");
    List<Item> items = new List<Item>();
    items.Add(item1);
    items.Add(item2);
    foreach (Item s in items)
    {
        Console.WriteLine(s);
    }
}

如何显示对象列表的内容

类似于公共字段的内容:

foreach (Item s in items)
{
  Console.WriteLine("{0} {1} {2}", s.itemName, s.price, s.description);
}

或者您可以覆盖ToString()方法:

class Item 
{
  /// your code
  public override string ToString()
  {
    return string.Format("{0} {1} {2}", itemName, price, description);
    // or in C# 6 in Visual Studio 2015:
    // return $"{itemName} {price} {description}";
  }

只需覆盖ToString即可获得所需的字符串输出。

public override string ToString()
{
    return string.Format("{0}{1}{2}", itemName, price, description);
}

您可以为此目的重写ToString方法,如下所示:

public override string ToString()
{
     return string.Format("itemName = {0} , price = {1} , description = {2}", itemName, price, description);
}

或者更好的字符串插值如下(c#6):

public override string ToString()
{
     return $"itemName = {itemName} , price = {price} , description = {description}";
}