2013-10-11 83 views
1

我有一個選定單元的集合。由於有多個列,集合中單元格的行索引通常以2,2,2,3,3,3,4,4,4等格式存在。使用細胞集合中的LINQ創建一個int列表

我想要獲取這些單元格的行索引列表。

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列表中。

回答

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

這應該做你想要什麼:

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