打印列表对象 c#

Print list Object c#

嗨,我尝试打印一个对象列表,但只是我的对象的名称

class 人

public class Pessoa
{

        public  int ID { get; set; }
        public  int Idade { get; set; }
        public  string Nome { get; set; }

        public  List<int> Setor { get; set; }

}

我的主class

static void Main(字符串[] args) {

    List<Pessoa> pessoas = new List<Pessoa>();

    pessoas.Add(new Pessoa
    {
        ID = 2,
        Idade = 32,
        Nome = "name",
         Setor = new List<int> { 2, 55, 32, 13, 24 }
    });

    pessoas.Add(
        new Pessoa
        {
            ID = 12,
            Idade = 24,
            Nome = "name",
             Setor = new List<int> { 2, 55, 32 }
        });

    pessoas.Add(
    new Pessoa
    {
        ID = 19,
        Idade = 29,
        Nome = "name",
          Setor = new List<int> { 2, 32 }
    });

    var teste = new Pessoa();
    foreach (var p in pessoas)
    {
        Console.WriteLine(p);


    }


    Console.ReadKey();



}

return 列表为空 return 列表为空 return 列表为空 return 列表为空 return 列表为空

打印用户定义的对象将无法以这种方式工作。正如您在 Console.WriteLine 的文档中所读到的那样,它调用要打印的对象的 "ToString()" 方法,标准实现打印此对象的 class 的名称。

如果要输出对象的内容,则必须重写 ToString() 方法。

示例:

   public class Pessoa {
      ....
      override ToString() {
         return $"ID = {ID}, IIdade = {Idade}, ....";
      }
   }