3

たとえばLINQやCastingメソッドを使用して、文字列の配列をListviewにワンステップで追加するにはどうすればよいですか?

これは私が試したものですが、うまくいきません:

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))))
4

4 に答える 4

4

AddRangeは配列を想定していSelectますが、関数はIEnumerable. ToArrayしたがって、式の最後に追加するだけです。Split文字列配列を返すため、そこへの呼び出しを追加する必要はありませんToArray

これは仕事をします:

ListView1.Items.AddRange("a b c d e f".Split(" "c) _
                                      .Select(Function(x) New ListViewItem(x)) _
                                      .ToArray)
于 2013-09-14T00:43:15.143 に答える
1
ListView1.Items.AddRange("a b c d e f".Split(" ".ToCharArray()))

これらの文字をリストとして追加するには、上記の構文が正しいはずです。

編集 ListViewItem コレクションを見逃したと思います

ListView1.Items.AddRange(new ListViewItem("a b c d e f".Split(" ".ToCharArray())))
于 2013-09-13T22:57:41.223 に答える