FirstOrDefault restituisce un riferimento all'elemento nella raccolta o il valore dell'articolo?FirstOrDefault restituisce un riferimento all'elemento nella raccolta o al valore?
var obj = myCollection.FirstOrDefault(x => x.Param == "match condition");
if (obj != null)
{
obj = newObjectOfCollectionType; //if found, replace with the changed record
}
Sarà questo codice sostituire il riferimento all'oggetto nella myCollection con il nuovo oggetto, o intende fare nulla per myCollection?
È possibile modificare l'oggetto ritorna, ma non è possibile sostituirlo. Quindi se hai fatto qualcosa come 'obj.SomeProperty = newPropertyValue' aggiornerà l'oggetto nella tua raccolta. – juharr
Le sequenze sono di sola lettura, quindi non è possibile cambiarle. Devi creare una nuova collezione. myCollection = mycollection.Select (x => x.Param == "condition condition"? newObjectOfCollectionType: x) .ToList() // o ToArray/ToDictionary – adrianm