.net ListViewItemCollection的字符串数组
如何在一个步骤中将字符串数组添加到Listview中(例如使用LINQ或强制转换方法) 这是我尝试过但不起作用的方法:.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",
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。在发布之前,应该更仔细地研究一下——删除我的评论以避免混淆。