我正在嘗試遍歷字符串數組並將其全部呈現在單個消息框中。我在一分鐘的代碼是這樣的:對於數組中的所有項目的C#消息框
string[] array = {"item1", "item2", "item3"};
foreach(item in array)
{
MessageBox.Show(item);
}
這顯然帶來了一個消息對於每個項目,有沒有什麼辦法可以在循環外一個消息立刻告訴他們呢?如果可能,我將使用\ n分隔項目,謝謝。
我正在嘗試遍歷字符串數組並將其全部呈現在單個消息框中。我在一分鐘的代碼是這樣的:對於數組中的所有項目的C#消息框
string[] array = {"item1", "item2", "item3"};
foreach(item in array)
{
MessageBox.Show(item);
}
這顯然帶來了一個消息對於每個項目,有沒有什麼辦法可以在循環外一個消息立刻告訴他們呢?如果可能,我將使用\ n分隔項目,謝謝。
可以從陣列的各個串組合成一個字符串(例如與string.Join
方法),然後顯示所串接的字符串:
string toDisplay = string.Join(Environment.NewLine, array);
MessageBox.Show(toDisplay);
可以只使用string.Join
,使它們成一個字符串。不要使用\n
,最好使用Environment.NewLine
string msg = string.Join(Environment.NewLine, array);
嘗試使用這個..
using System.Threading;
string[] array = {"item1", "item2", "item3"};
foreach (var item in array)
{
new Thread(() =>
{
MessageBox.Show(item);
}).Start();
}
我會看到兩種常用的方法來做到這一點。
// 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);
這不是他問的。即使是這樣,也不要這樣做 –
這不僅不會顯示由\ n分隔的單個「MessageBox」中的項目,而且還顯示UI線程以外的線程上的UI。這通常是一個壞主意。 –