C'è un modo per effettuare le seguenti operazioni utilizzando Linq:aggiornare tutti gli oggetti tranne uno in una collezione utilizzando Linq
foreach (var c in collection)
{
if (c.Condition == condition)
{
c.PropertyToSet = value;
// I must also check I only set this value to one minimum and only one element.
}
else
{
c.PropertyToSet = otherValue;
}
}
Per chiarire, io voglio scorrere ogni oggetto in una collezione e quindi aggiornare una proprietà su ogni oggetto ad eccezione di un elemento della mia collezione che dovrebbe essere aggiornato ad un altro valore.
In questo momento, utilizzo un contatore per verificare di impostare il mio valore su uno e solo un elemento della mia raccolta. L'ho rimosso da questo esempio per permettere alle persone di suggerire altre soluzioni.
La domanda originale, senza eccezione, in collezione è here
EDIT
pongo questa domanda perché io non sono sicuro che sia possibile farlo con LINQ. quindi le tue risposte confortano la mia opinione su LinQ. Grazie.
Stai modificando la tua raccolta originale o desideri restituire una copia con tale proprietà modificata? –
Sto cambiando la mia collezione. qual è la differenza? –
Che tipo di collezione è questa .. È una Hashtable, un dizionario <>, una lista <>, ecc., Per favore chiarisci che tipo di collezione è questa.puoi farlo usando un Hashtable o un dizionario <> puoi mostrare come è definita la collezione – MethodMan