C# 链表未使用正确的元素打印?

C# 链表未使用正确的元素打印?,c#,linked-list,console-application,tostring,C#,Linked List,Console Application,Tostring,我想知道如何打印出我的链接列表,因为它当前显示了错误的文本和我编写的代码 Dinosaur Dino1 = new Dinosaur(); Console.WriteLine("You have selected Create a New Dinosaur"); Console.WriteLine("Please enter Dinosaur ID "); Dino1.ID = Convert.ToInt32(Console.ReadLine

我想知道如何打印出我的链接列表,因为它当前显示了错误的文本和我编写的代码

Dinosaur Dino1 = new Dinosaur();                           
Console.WriteLine("You have selected Create a New Dinosaur");
Console.WriteLine("Please enter Dinosaur ID ");
Dino1.ID = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please enter Dinosaur Species");
Dino1.Name = Console.ReadLine();
Console.WriteLine("Please enter Dinosaur Diet Type");
Dino1.Type = Console.ReadLine();
Console.WriteLine("Please enter Dinosaur Period");
Dino1.Period = Console.ReadLine();
Dinolist.AddFirst(Dino1);
foreach (Dinosaur str in Dinolist)
{
    Console.WriteLine(str); 
}
这是正在显示的内容:


Dinolist
是一个类(
恐龙
类)的列表,不是字符串,使用它Console.WriteLine调用它的
.ToString()
方法,这将是您得到的结果

你可以做:

备选案文1:

foreach (Dinosaur dino in Dinolist)
{
    Console.WriteLine($"Name: {dino.Name}, Type: {dino.Type}"); 
}
备选案文2: 只需重写恐龙类的ToString()方法:

public class Dinosaur
{
     public string Name { get; set; }
     public string Type {get set;}
    //your class stuff here
    public override string ToString()
    {
         return $"Name: {Name}, Type: {Type}";
    }
}

Dinolist
是一个类(
Dinoro
类)的列表,不是字符串,使用它Console.WriteLine调用它的
.ToString()
方法,这将是您得到的结果

你可以做:

备选案文1:

foreach (Dinosaur dino in Dinolist)
{
    Console.WriteLine($"Name: {dino.Name}, Type: {dino.Type}"); 
}
备选案文2: 只需重写恐龙类的ToString()方法:

public class Dinosaur
{
     public string Name { get; set; }
     public string Type {get set;}
    //your class stuff here
    public override string ToString()
    {
         return $"Name: {Name}, Type: {Type}";
    }
}

您需要定义类的字符串表示形式。这可以通过在类定义中重写ToString()方法来实现

备注1:ToString()方法不是显示属性的方法。它只生成类的字符串表示形式。这意味着ToString()不包括任何Console.WriteLine逻辑或类似的内容。只需创建表示类的字符串,并返回它

备注2:在备注1之后,您的打印方式应该是这样的

foreach (Dinosaur dinosaur in Dinolist)
{
     Console.WriteLine(dinosaur.ToString()); 
}

希望这有帮助。

您需要定义类的字符串表示形式。这可以通过在类定义中重写ToString()方法来实现

备注1:ToString()方法不是显示属性的方法。它只生成类的字符串表示形式。这意味着ToString()不包括任何Console.WriteLine逻辑或类似的内容。只需创建表示类的字符串,并返回它

备注2:在备注1之后,您的打印方式应该是这样的

foreach (Dinosaur dinosaur in Dinolist)
{
     Console.WriteLine(dinosaur.ToString()); 
}


希望这有帮助。

您可以在恐龙类中重写ToString()以显示所需的属性。@PmanAce
您可以重写
->
重写
而不是:)是的,抱歉,刚刚醒来。这回答了您的问题吗@阿伦哈特:返回是错误的,你需要返回你想要的。例如:
return Name+Type+Period
或您想要的格式。您可以覆盖恐龙类中的ToString()以显示您想要的属性。@PmanAce
您可以覆盖
->
覆盖
:)是的,抱歉,刚刚醒来。这回答了您的问题吗@阿伦哈特:返回是错误的,你需要返回你想要的。例如:
returnname+Type+Period
或您想要的格式。
Dinolist是一个类的列表(Dinolist类)
不,Dinolist是一个类的列表(Dinolast)。这与链接列表配合使用会很好吗?@đěxěŕ您知道我刚才犯了一个错误,对吗?我刚刚纠正了它。谢谢你的提醒。@đěxěŕ欢迎你,你知道我总是拼写错误的恐龙,这就是我复制粘贴的原因,复制粘贴是邪恶的,有时会导致这样的问题;)@Ashkanmobayenkhaibani ha,这不是问题:)
Dinolist是一个类的列表(Dinolist类)
no,Dinolist是一个类的列表(恐龙)。这与链接列表配合使用会很好吗?@đěxěŕ你知道我刚才犯了一个错误吧?我刚刚纠正了它。谢谢你的提醒。@đěxěŕ欢迎你,你知道我总是拼写错误的恐龙,这就是我复制粘贴的原因,复制粘贴是邪恶的,有时会导致这样的问题;)@AshkanMobayenKhiabani-ha,这不是问题:)不需要实际调用.ToString(),它会自动执行。不需要实际调用.ToString(),它会自动执行。