0
votes

Comment définir l'élément de tuple reçu par LINQ

J'ai une liste de tuples. J'ai besoin d'obtenir l'un de ces tuples à l'aide de Linq et de changer l'élément2 de celui-ci. J'ai essayé de le faire directement comme ça: xxx

mais il n'a pas compilé. J'ai aussi essayé de le faire donc: xxx

mais tuple ne fonctionne pas comme une variable de référence

donc, comment devrait-il être fait?


2 commentaires

tuple = (tuple.item1, tuple.item2 + valeur); Les tuples sont immuables , vous ne pouvez pas les changer, mais peut recréer


Parce que tuple est struct et type de valeur, vous devez créer une nouvelle instance.


3 Réponses :


0
votes

Selon Docs , tuplle.item1 n'a qu'un getter, ce qui signifie qu'il s'agit d'une propriété en lecture seule.

Vous devez soit créer un nouveau tuple avec une valeur modifiée et le reste laissé identique, ou créer une classe à utiliser au lieu de ce tuple qui aura des propriétés mutables.


0 commentaires

2
votes

0
votes

Si tuples est un tableau Vous pouvez modifier la valeur de cette façon (comme avec une autre structure mutable): xxx


0 commentaires