使用来自单元集合的LINQ创建int列表

时间:2013-10-11 08:26:09

标签: c# linq datagridview group-by

我有一组选定的细胞。由于存在多个列,因此集合中单元格的行索引通常采用2,2,2,3,3,3,4,4,4等格式。

我想获得这些单元格的行索引列表。

List<int> selectedRows = new List<int>();

List<DataGridViewCell> cellCollection = dGV_model.SelectedCells.Cast<DataGridViewCell>()
                                      .GroupBy(cell => cell.RowIndex)
                                      .Select(cell => cell.First())
                                      .ToList<DataGridViewCell>();
foreach (DataGridViewCell cell in cellCollection)
{
    selectedRows.Add(cell.RowIndex);
}

基本上,我的问题是如何从单个LINQ查询创建一个int列表?现在,我必须遍历cellcollection以将它们添加到int的列表中。

2 个答案:

答案 0 :(得分:5)

var selectedRows = dGV_model.SelectedCells.Cast<DataGridViewCell>()
                                          .Select(c=>c.RowIndex).Distinct()
                                          .ToList();

答案 1 :(得分:0)

这应该做你想要的:

var rows = dGV_model.SelectedCells.Cast<DataGridViewCell>()
                            .Select(x=>x.RowIndex).Distinct()
                            .ToList();