2013-04-17 108 views
1

我正在寻找一种方式来显示(在MsgBox或其他读能的地方)的阵列/列表内容时,list只包含字符串:显示内容

Dim list As New List(Of String)

我想现在在MsgBox中显示它的内容。如果有需要,我可以将list转换为array。有没有办法做到这一点?

回答

9

参考您可以声明一个变量,循环数组把每一个元素中:

Dim sResult As String = "" 

For Each elem As String In list 
    sResult &= elem & " " 
Next 

或者您可以使用String.Join()直接合并的所有元素阵列(您需要将List转换为正常阵列):

Dim sResult As String = String.Join(", ", list.ToArray()) 
+0

它是'String.Join'而不是'List.Join'。除此之外,使用.NET 4,你不需要['string.Join']的新数组(http://msdn.microsoft.com/en-us/library/dd992421(v = vs.100))。 ASPX)。 –

+0

@TimSchmelter你是对的。感谢您的建议。 – SysDragon

4

该列表中有多少个元素?如果他们很少那么一个MessageBox可以做

Dim message = string.Join(Environment.NewLine, list.ToArray()) 
MessageBox.Show(message) 

如果有很多,那么你需要某种界面来显示一切。
在这种情况下,您至少需要一个WinForm应用程序和您的用户定义窗体,该窗体包含一个TextBox,其多行属性设置为true。

Dim message = string.Join(Environment.NewLine, list.ToArray()) 
textBox1.Text = message 

这里MSDN docs on List(Of T)

+0

使用.NET 4时,['string.Join'](http://msdn.microsoft.com/zh-cn/library/dd992421(v = vs.100).aspx)不需要新数组。 。 –