J'ai cette routine qui modifie tous les éléments dans un tableau ...Réécrivez cette manipulation de tableau en utilisant une fonction lambda?
for (int i = 0; i < sOutputFields.GetUpperBound(0); i ++)
{
sOutputFields[i] = clsSQLInterface.escapeIncoming(sOutputFields[i]);
}
sOutputFields
est une dimension tableau string
. escapeIncoming()
est une fonction qui renvoie un string
.
Je pensais que cela pourrait être réécrite ainsi ..
sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
..mais cela semble ne rien faire (mais ne jette pas une exception). J'ai donc essayé ..
sOutputFields =
(string[])sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
..mais je reçois cette exception au moment de l'exécution ..
« Impossible de jeter l'objet de type 'WhereSelectArrayIterator`2 [System.String, System.String]' pour taper 'System.String []'. "
comment réparer?
résultats de requête sont immuables, et => est pas un opérateur assigment . – asawyer
Votre code LINQ ne réécrit pas, il crée plutôt une nouvelle collection – Max