PDA

View Full Version : مشکل با override Tostring() برای لیست ها جنریک



shima_85
چهارشنبه 08 مهر 1388, 08:52 صبح
سلام
چطوری میتونم متد 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]

Reza_Yarahmadi
چهارشنبه 08 مهر 1388, 15:07 عصر
فکر کنم مشکل از حلقه foreach باشه نه از overrid کردن متد ToString !!
متد ToString رو برای کلاس Cat تغییر دادید نه واسه Generic List
حلقه رو بصورت زیر امتحان کنید

foreach (var item in cati)
{
Console.WriteLine(item.ToString());
}