Ich habe diese Routine, die alle Elemente innerhalb eines Arrays ändert ...Umschreiben Sie diese Array-Manipulation mit einer Lambda-Funktion?
for (int i = 0; i < sOutputFields.GetUpperBound(0); i ++)
{
sOutputFields[i] = clsSQLInterface.escapeIncoming(sOutputFields[i]);
}
sOutputFields
ist ein eindimensionales Array string
. escapeIncoming()
ist eine Funktion, die eine string
zurückgibt.
Ich dachte, das so neu geschrieben werden könnte ..
sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
..aber dies nichts zu tun scheint (obwohl keine Ausnahme werfen). Also habe ich versucht ..
sOutputFields =
(string[])sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
..aber ich diese Ausnahme bei der Ausführung erhalten ..
„Kann nicht das Objekt von Typ 'WhereSelectArrayIterator`2 [System.String, System.String]' um 'System.String []' einzugeben. "
wie zu beheben?
Abfrageergebnisse sind unveränderlich, und => ist kein assigment Operator . – asawyer
Ihr LINQ-Code wird nicht neu geschrieben, sondern erstellt eine neue Sammlung – Max