.net ListViewItemCollection的字符串数组

.net ListViewItemCollection的字符串数组,.net,arrays,vb.net,linq,listview,.net,Arrays,Vb.net,Linq,Listview,如何在一个步骤中将字符串数组添加到Listview中(例如使用LINQ或强制转换方法) 这是我尝试过但不起作用的方法: ListView1.Items.AddRange("a b c d e f".Split(" ").ToArray _ .Select(Function(x) New ListViewItem(x))) ListView1.Items.AddRange( _ New ListView.ListViewItemCollection( _ {"Value 1",

如何在一个步骤中将字符串数组添加到Listview中(例如使用LINQ或强制转换方法)

这是我尝试过但不起作用的方法:

ListView1.Items.AddRange("a b c d e f".Split(" ").ToArray _
.Select(Function(x) New ListViewItem(x)))
ListView1.Items.AddRange( _
    New ListView.ListViewItemCollection( _
    {"Value 1", "Value 2", "Value 3"} _
   .Select(Function(x) New ListViewItem(x))))
更新:

再次尝试,不起作用:

ListView1.Items.AddRange("a b c d e f".Split(" ").ToArray _
.Select(Function(x) New ListViewItem(x)))
ListView1.Items.AddRange( _
    New ListView.ListViewItemCollection( _
    {"Value 1", "Value 2", "Value 3"} _
   .Select(Function(x) New ListViewItem(x))))
为了将这些字符添加到列表中,上述语法应该是正确的

编辑 我想我错过了ListViewItem集合

ListView1.Items.AddRange(new ListViewItem("a b c d e f".Split(" ".ToCharArray())))
完成了

我希望这对其他人有所帮助:

  ' Set the Array content
  Dim Items As String() = "ABC DEF GHI JKL".Split

  ' Add them in one step
  ListView1.Items.AddRange(Items.Select(Function(x) New ListViewItem(x)).ToArray)

AddRange
需要一个数组,但
Select
函数返回一个
IEnumerable
。因此,只需将
ToArray
添加到表达式的末尾即可。 由于
Split
返回字符串数组,因此无需在那里添加对
ToArray
的调用

这将完成以下工作:

ListView1.Items.AddRange("a b c d e f".Split(" "c) _
                                      .Select(Function(x) New ListViewItem(x)) _
                                      .ToArray)

似乎必须将第一列设置为“Items.Add”,将其余列设置为“SubItems.AddRange”。这是我用来完成以下任务的代码:

string[] arr = "column1|column2|column3".Split('|');
ListView1.Items.Add(arr[0]).SubItems.AddRange(new string[] { arr[1], arr[2] });

谢谢,但这两个代码中的任何一个都有效,都会抛出异常。。。但我要求的是一个字符串数组,而不是字符数组,我写的字符值只是为了给出一个例子,无论如何,谢谢。@DanielNeel:不行
Select
需要类型为
Func(字符串的,TResult)
的参数
New ListViewItem(x)
的类型为
ListViewItem
。此外,
x
没有定义。哎呀,你说得对@pescolino。在发布之前,应该更仔细地研究一下——删除我的评论以避免混淆。