J'ai rencontré un comportement un peu étrange que je ne pouvais pas comprendre Je me demande si quelqu'un peut m'aider à le comprendre.
La méthode follwing recives un tableau d'objets et de faire quelques changements dans les membres du groupechanger les valeurs du tableau dans la méthode
public static void adjustRow(object[] row, String column)
{
Double price ,units ,invest;
if (!(Double.TryParse(row[3].ToString(),out price)
& Double.TryParse(row[4].ToString(),out units)
& Double.TryParse(row[5].ToString(),out invest)))
return ;
switch (column)
{
case INVEST: row[4] = Math.Round(invest/price,2); break;
case UNITS:
case PRICE: row[5] = Math.Round(units * price,2); break;
}
}
la méthode follwing appel à la méthode ci-dessus:
void editGrids_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
DataGridView gridView = sender as DataGridView;
DataTable source= null;
if (gridView != null)source = gridView.DataSource as DataTable;
if (source != null)
Systm.adjustRow(source.Rows[e.RowIndex].ItemArray,gridView.Columns [e.ColumnIndex].HeaderText);
}
Je pensais que les valeurs du tableau d'entrée seront changé en dehors de la portée de la première méthode, mais le résultat est que les valeurs restent les mêmes explication?
Merci Eran
pouvez-vous s'il vous plaît expliquer pourquoi ?? Le tableau n'a-t-il pas la valeur de la valeur qu'il y conserve? le comportement que j'ai décrit ne correspond pas à l'exemple 4 dans votre lien et que le conflit je ne comprends pas – Eran
Sauf si quelque chose me manque, le lien que vous avez donné indique que le code d'Eran * devrait * changer le tableau. – sepp2k