Переопределение ToString для List - C#
Формулировка задачи:
Добрый день.
Возникла проблема с переопределением ToString для List.
Есть следующий класс:
При выведении созданного объекта в консоли через
Выдает ошибку System.Collections.Generic.List
Понимаю, что не может Console.WriteLine просто взять и вывести List.
Через метод делать вывод на консоль не вариант. Необходимо именно переопределить ToString.
Прошу подсказать как это правильно реализовать.
class Grandma
{
public string Name { get; set; }
public int Age { get; set; }
// public string Property { get; set; }
public List<string> listProperty;
public Grandma()
{
Console.WriteLine("Enter Name: ");
Name = Convert.ToString(Console.ReadLine());
Console.WriteLine("Enter age: ");
Age = Convert.ToInt32(Console.ReadLine());
AddProperty();
}
public override string ToString()
{
return Name + " " + Age + " " + listProperty;
}
public void AddProperty()
{
int n;
string st;
List<string> prop = new List<string>();
Console.WriteLine("Enter number of properties: ");
n = Convert.ToInt32(Console.ReadLine());
while (n != 0)
{
Console.WriteLine("Enter property: ");
st = Convert.ToString(Console.ReadLine());
prop.Add(st);
n--;
}
listProperty = prop;
}
public void PropertyOut()
{
foreach (string pr in listProperty)
{
Console.WriteLine(pr);
}
}
}Console.WriteLine(obj);
Решение задачи: «Переопределение ToString для List»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication6 {
class Program {
static void Main(string[] args) {
Test test = new Test();
Console.WriteLine(test);
}
}
class Test {
private List<string> list = new List<string>(new[]{ "ONE", "TWO", "THREE" });
public override string ToString() {
return string.Join(" ", list);
}
}
}