как опубликовать sh объединить строку значений списка в окне сообщения - PullRequest
0 голосов
/ 07 марта 2020

У меня есть время l oop, которое публикует определенные значения в строку, и кнопка ia, которая должна объединить значения в строку и показать это как окно сообщения.

string toDisplay = string.Join("," , Export.ToString());
        MessageBox.Show(toDisplay);   

Однако все я get - это внутренний список, а не значения. Экспорт

Инициатор списка

List<int> Export = new List<int>();

Ответы [ 2 ]

1 голос
/ 07 марта 2020

Если Export - это список int, то вы не добавляете ToString () в объединении, просто оставьте список в покое

string toDisplay = string.Join("," , Export);
MessageBox.Show(toDisplay);   

Если вы добавите ToString () Метод Экспорт переменной вы просите список дать представление себя в виде строки, но обобщенный c List<T> не имеет никакого переопределения для этого и использовать базовый ToString () из базового объекта класса. Этот метод просто выводит имя класса.
Вместо этого, если оставить только имя переменной List Export , тогда используется метод Join, который перечисляет элементы списка (целые числа) и запрашивает их один за другим дать представление ToString () себя. Целые числа могут сделать это.

0 голосов
/ 07 марта 2020

Хорошо также знать, что некоторые Linq, Aggregate могут помочь:

var toDisplay = (export?.Any() ?? false) ? // not null and not empty
                export.Select(m => m.ToString()).Aggregate((m1, m2) => $"{m1},{m2}") : 
                string.Empty;

Примечание: Но ответ @Steve более эффективен с точки зрения выделения памяти

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...