如何将List <List <String >>中的数据添加到列表视图中

Tho*_*eld 5 c# linq listview winforms

我有一个List<List<String>>MyList,其中包含

    { "A1","B1","C1" }
    { "A2","B2","C2" }
    { "A3","B3","C3" }
Run Code Online (Sandbox Code Playgroud)

我需要将它添加到具有三列的ListView控件

所以列表视图就像

__Clm1________________Clm2________________Clm3_______________

   A1                  A2                 A2
   B1                  B2                 B3
   C1                  C2                 C3
Run Code Online (Sandbox Code Playgroud)

有没有办法使用LINQ来做到这一点

编辑这是我的解决方案:

ListViewItem[] lItem = MyList.Select(
                                          X => new ListViewItem(X.ToArray())
                                    ).ToArray();
listView1.Items.AddRange(lItem);
Run Code Online (Sandbox Code Playgroud)

但在这里我需要添加一个索引...... List视图就像

___S.No __Clm1________________Clm2________________Clm3_______________
   1      A1                  A2                 A2
   2      B1                  B2                 B3
   3      C1                  C2                 C3
Run Code Online (Sandbox Code Playgroud)

如何在listview中添加索引?

jga*_*fin 5

我个人觉得这更干净:

var myList = new List<List<string>>()
{
    new List<string>(){ "A1","B1","C1" },
    new List<string>(){ "A2","B2","C2" },
    new List<string>(){ "A3","B3","C3" },
};

listView.BeginUpdate();    
foreach (var row in myList)
{
    var item = new ListViewItem(listView.Items.Count.ToString());
    item.SubItems.AddRange(row);
    listView.Items.Add(item);
}
listView.EndUpdate();
Run Code Online (Sandbox Code Playgroud)


Tho*_*eld 3

是的..我有一个解决方案....这就是

int i=1;
ListViewItem[] lItem =MyList.Select(X=> new ListViewItem(new String[]{i++.ToString()}.Concat(X).ToArray())).ToArray(); 
listView1.Items.AddRange(lItem); 
Run Code Online (Sandbox Code Playgroud)