1
這不起作用。爲什麼我必須調用DataGridViewRow上的Cast <>擴展方法?
var result =
from row in grid.Rows
where (string) row.Cells["COLUMN_1"].Value == "Test"
select row.Cells["COLUMN_2"].Value as int?;
但是這樣做。
var result =
from row in grid.Rows.Cast<DataGridViewRow>()
where (string) row.Cells["COLUMN_1"].Value == "Test"
select row.Cells["COLUMN_2"].Value as int?;
據我所知,DataGridViewRowCollection是DataGridViewRows的集合。那麼,爲什麼我必須先將每個成員轉換爲DataGridViewRow才能訪問其屬性?
它與DataGridViewRowCollection實現非泛型IEnumerable
而不是通用版本IEnumerable<DataGridViewRow>
的事實有什麼關係?或者它顯然在內部使用ArrayList
?這不會導致我有任何實際問題,但我想更好地理解它。