Метод .ToString()
для ссылочных типов обычно разрешается обратно в System.Object.ToString()
, если вы не переопределите его в производном типе (возможно, используя методы расширения для встроенных типов). Поведение по умолчанию для этого метода - выводить имя типа, для которого он вызывается. Итак, то, что вы видите, - это ожидаемое поведение.
Вы можете попробовать что-то вроде string.Join(", ", myList.ToArray());
, чтобы достичь этого. Это дополнительный шаг, но его можно добавить в метод расширения на System.Collections.Generic.List<T>
, чтобы сделать его немного проще. Примерно так:
public static class GenericListExtensions
{
public static string ToString<T>(this IList<T> list)
{
return string.Join(", ", list);
}
}
(Обратите внимание, что это произвольный и непроверенный код. На данный момент у меня нет под рукой компилятора. Поэтому вы захотите немного поэкспериментировать с ним.)