尝试在使用list <class>时打印列表的内容

时间:2018-03-24 17:54:59

标签: c# list

我有一个包含两个变量的类:Name,Address

我实例化该类,为其添加值,并尝试将其存储在列表中。一旦我这样做,我希望在控制台上打印姓名和地址,但我不确定我做错了什么:

public class Test
{
    public string Name { set; get; }
    public string Address { set; get; }
}

static void Main(string[] args)
    {
        Test t = new Test();

        t.Name = "bob";
        t.Address = "CT";

        List<Test> lst = new List<Test>();

        lst.Add(t);

        foreach (var x in lst)
        {
            Console.WriteLine(x);
        }
  }

当我这样做时,我只需获取我的project.ClassName

的名称

5 个答案:

答案 0 :(得分:2)

简单地说,覆盖const deck = $(".deck"); // only select this once if possible masks.forEach(mask => deck.append('<img src=./' + mask + '>)); ,其他一切都应该按照您的预期运作。

示例:

ToString

答案 1 :(得分:1)

您需要访问for循环中的Name属性

foreach (var x in lst)
{
    Console.WriteLine(x.Name);
}

答案 2 :(得分:1)

您可以使用班级中的ToString。将类实例传递给Console.WriteLine函数时,将调用此ToString - 函数。 有关详细信息,请查看Sin's solutionConsole.WriteLine

的文档
public class Test
{
    public string Name { set; get; }
    public string Address { set; get; }

    public override string ToString()
    {
        return $"Name: {Name} Address: {Address}";
    }
}

static void Main(string[] args)
{
    Test t = new Test();

    t.Name = "bob";
    t.Address = "CT";

    List<Test> lst = new List<Test>();

    lst.Add(t);

    foreach (var x in lst)
    {
        Console.WriteLine(x);
    }
}

这将输出:

  

姓名:bob地址:CT

答案 3 :(得分:1)

对我来说我会用这个

      static void Main(string[] args)
      {
        Test t = new Test();

        t.Name = "bob";
        t.Address = "CT";

        List<Test> lst = new List<Test>();
        lst.Add(t);
        lst.ForEach(show);
    }

    private static void show(Test obj)
    {
        Console.WriteLine(obj.Name);
        Console.WriteLine(obj.Address);
    }

答案 4 :(得分:1)

如果要在更新类时动态打印属性,可以使用Json.Net。

class Test
{
 public string Name { set; get; }
 public string Address { set; get; }

 public override string ToString()
 {
    return JsonConvert.SerializeObject(this);
 }

}