مشکل با override Tostring() برای لیست ها جنریک
سلام
چطوری میتونم متد ToString () را برای یک لیست جنریک ،که از جنس یک کلاس است ،Overrridکنم؟من کد زیر را نوشتم ولی جواب درستی نداد! مشکل از کجاست؟
public class Cat
{
public int Age { get; set; }
public string Name { get; set; }
public override string ToString()
{
return Name.ToString () + Age.ToString();
}
}
//////////////////////////
static void Main(string[] args)
{
List<int> digi = new List<int> { 0, 1, 2, 3 };
List<Cat> cati = new List<Cat>
{
new Cat {Name ="bahar",Age =23},
new Cat {Name ="sima",Age =24},null
};
foreach (var item in cati)
{
Console.WriteLine(cati.ToString());
}
اما خروجی که میده به شکل زیر است:
ُSystem.Collections.Generic.List'1[ConsoleApplication1.Cat]
نقل قول: مشکل با override Tostring() برای لیست ها جنریک
فکر کنم مشکل از حلقه foreach باشه نه از overrid کردن متد ToString !!
متد ToString رو برای کلاس Cat تغییر دادید نه واسه Generic List
حلقه رو بصورت زیر امتحان کنید
foreach (var item in cati)
{
Console.WriteLine(item.ToString());
}