Вопрос о переменной коллекции - PullRequest
0 голосов
/ 04 февраля 2011

Допустим, у меня есть общая коллекция в формате строки. Я хочу добавить значения к метке, как бы я поступил так, что я попробовал несколько вещей, о которых я читал здесь, но не могу заставить их работать.

List<string> listcollection= new List<string>();

....Populate Collection Here....

MsgLabel.Text = Controls[string.Format(("MyInts: {0}", listcollection[1].Text));

Любая помощь будет потрясающей.

Спасибо.

Ответы [ 3 ]

4 голосов
/ 04 февраля 2011

Есть несколько способов понять ваш вопрос:

  • Вы хотите извлечь 2-е значение и поместить его в метку, как показано в примере
  • Вы хотите объединить все значения в список (MyInts - множественное число)

Извлечь 2-е значение

MsgLabel.Text = string.Format("MyInts: {0}", listcollection[1]);

Чтобы объединить их

Вы, вероятно, ищете string.Join.

Это будет работать с примером, который вы разместили:

MsgLabel.Text = string.Format("MyInts: {0}", string.Join(", ", listcollection));

Этот код требует .NET 4.0, в противном случае string.Join требует массив, поэтому, если вы не используете 4.0, вам нужен следующий код:

MsgLabel.Text = string.Format("MyInts: {0}", string.Join(", ", listcollection.ToArray()));
0 голосов
/ 04 февраля 2011

Если вы хотите объединить все строки (и мне кажется, что вы хотите это сделать), вы можете сделать что-то вроде:

List<string> listcollection = new List<string>();
string myText = string.Empty;
for (int i = 0; i < listcollection.Count; i++) {
   myText += ("string no. " + (i - 1).ToString() + ": " + listcollection[i] + Environment.NewLine);
}
MsgLabel.Text = myText;

или используйте , вместо Environment.NewLine, если вы хотите разделить его на ,

РЕДАКТИРОВАТЬ: см. Комментарий Лассе В. Карлсен для более быстрого решения. Спасибо за подсказку!

0 голосов
/ 04 февраля 2011

Если вы создаете общую коллекцию строк, вы не должны вызывать коллекцию свойств «Текст» [idx] .Text.Просто используйте .Join или извлеките определенный элемент из коллекции.

...