Je suis intéressé par la raison pour laquelle le mot-clé var ne fonctionne pas correctement dans une foreach-loop sur DataGridViewSelectedRowCollection.Pourquoi var ne fonctionne pas sur DataGridViewSelectedRowCollectoin
ex1:
var selectedRows = MyDataGridView.SelectedRows;
foreach (var row in selectedRows)
{
var foo = row.DataBoundItem;
_bindingSource.Remove(foo);
}
ex1 le type de 'ligne' est l'objet. Pourquoi est-il pas de type 'DataGridViewRow'
EX2 fonctionne parfaitement:
var selectedRows = MyDataGridView.SelectedRows;
foreach (DataGridViewRow row in selectedRows)
{
var foo = row.DataBoundItem;
_bindingSource.Remove(foo);
}
aussi si j'accéder à l'élément de la collection directement cela fonctionne:
var selectedRows = MyDataGridView.SelectedRows;
var foo = selectedRows[0];
var bar = foo.GetType().Name; // bar == DataGridViewRow
Je suis intéressé par le raison pour laquelle cela arrive.
Merci à l'avance
Avez-vous essayé de faire 'selectedRows [0] .DataBoundItem;' dans ex2? Parce que ce n'est pas une comparaison 'juste' atm :) – EpicKip