Переопределение ToString для List - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Возникла проблема с переопределением ToString для List. Есть следующий класс:
 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);
Выдает ошибку System.Collections.Generic.List Понимаю, что не может Console.WriteLine просто взять и вывести List. Через метод делать вывод на консоль не вариант. Необходимо именно переопределить ToString. Прошу подсказать как это правильно реализовать.

Решение задачи: «Переопределение 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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы