C # MessageBox для всех элементов в массиве - PullRequest
4 голосов
/ 18 сентября 2011

Я пытаюсь перебрать массив строк и представить их все в одном окне сообщения.Код, который у меня есть в данный момент, таков:

string[] array = {"item1", "item2", "item3"};
foreach(item in array)
{
   MessageBox.Show(item);
}

Это, очевидно, вызывает окно сообщения для каждого элемента, есть ли способ, как я могу показать их все сразу в окне сообщения вне цикла?Я буду использовать \ n для разделения элементов, если это возможно, спасибо.

Ответы [ 4 ]

10 голосов
/ 18 сентября 2011

Вы можете объединить отдельные строки из массива в одну строку (например, с помощью метода string.Join), а затем отобразить объединенную строку:

string toDisplay = string.Join(Environment.NewLine, array); 
MessageBox.Show(toDisplay);
5 голосов
/ 18 сентября 2011

Вы можете просто использовать string.Join, чтобы превратить их в одну строку.Не используйте \n, лучше использовать Environment.NewLine

string msg = string.Join(Environment.NewLine, array);
2 голосов
/ 18 сентября 2011

Я бы увидел два распространенных способа сделать это.

        // Short and right on target
        string[] array = {"item1", "item2", "item3"};
        string output = string.Join("\n", array);
        MessageBox.Show(output);


        // For more extensibility.. 
        string output = string.Empty;
        string[] array = { "item1", "item2", "item3" };
        foreach (var item in array) {
            output += item + "\n"; 
        }

        MessageBox.Show(output);
0 голосов
/ 18 сентября 2011

попробуйте использовать это ..

using System.Threading;



string[] array = {"item1", "item2", "item3"};


        foreach (var item in array)
        {

            new Thread(() =>
            {
                MessageBox.Show(item);
            }).Start();


        }
...