问题
hi i trying print a list of object , but just name of my object
class People
public class Pessoa
{
public int ID { get; set; }
public int Idade { get; set; }
public string Nome { get; set; }
public List<int> Setor { get; set; }
}
My Main class
static void Main(string[] 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 a list empty return a list empty return a list empty return a list empty return a list empty
回答1:
Printing a user defined object will not work this way. As you could read in the documentation of Console.WriteLine it calls the "ToString()" method of the object to print and the standard implementation prints the name of the class of this object.
If you want to output the contents of your object you have to override the ToString() method.
Example:
public class Pessoa {
....
override ToString() {
return $"ID = {ID}, IIdade = {Idade}, ....";
}
}
来源:https://stackoverflow.com/questions/53459642/print-list-object-c-sharp