すべて、DataGridView
(DGV)に行があります。このDGVに追加されているアイテムがすでに存在するかどうかをテストするために、次のLINQクエリを使用して(for/foeach
ループではなく)一致する行の行インデックスを返すメソッドを作成しました。
IEnumerable<int> rowCol = this.dataGridViewAttachList.Rows.Cast<DataGridViewRow>()
.Where(row => row.Cells[(int)DgvColumns.DatabaseName].Value.ToString()
.Equals(databaseName, StringComparison.OrdinalIgnoreCase))
.Select(row => row.Index);
私の質問は:なぜ私はを使ってキャストしなければならないのCast<DataGridViewRow>()
ですか?私は最初にそれなしで試しましたが、これを解決するのにしばらく時間がかかりました。しかし、なぜそれが必要なのか私にはわかりませんか?
御時間ありがとうございます。