使用 LINQ 从单元格集合创建 int 列表

本文关键字:创建 int 列表 集合 单元格 LINQ 使用 | 更新日期: 2023-09-27 18:34:48

我有一个选定单元格的集合。由于有多个列,集合中单元格的行索引通常采用 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 列表?现在,我必须遍历单元格集合以将它们添加到 int 列表中。

使用 LINQ 从单元格集合创建 int 列表

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

这应该可以做你想要的:

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