57 votes

Pourquoi les articles de Tuple #39;s sont ReadOnly ?

Je pensais utiliser `` la classe pour stocker 2 informations intégrales (StartAddress, EndAddress) dont j'ai besoin dans mon programme.

Mais je découvre que `` les éléments sont ReadOnly, donc si j'ai besoin de définir une valeur pour un élément, j'ai besoin de re-instantiate un Tuple.

Quelle est la raison de cette décision de conception?

55voto

Noldorin Points 67794

Les Tuples originaire de la programmation fonctionnelle. Dans (purement) programmation fonctionnelle, tout est immuable par la conception d'une certaine variable n'a qu'une seule définition à tout moment, comme dans les mathématiques. L' .NET concepteurs suivit le même principe lors de l'intégration du style fonctionnel en C#/.NET, malgré elle, finalement, principalement impératif (hybride?) de langue.

Remarque: Bien que je soupçonne le fait que les n-uplets sont immuables n'a pas vraiment de vous rendre la tâche beaucoup plus difficile, il y a aussi des types anonymes (ou peut-être juste une simple struct) que vous souhaitez utiliser.

2voto

xamid Points 20

Je me demande pourquoi il n'y a pas une telle chose comme ça. Cependant, c'est ce que je préfère utiliser.

-3voto

Greg Points 21

Vous avez seulement les getters des propriétés ItemX, c'est vrai, mais j'ai trouvé un moyen d'instanciate d'abord un tupple avec des valeurs vides et les remplir après les mots.

Si vous faites quelque chose comme ceci :

Le tplTemp passé comme un paramètre out aura ses 2 valeurs d'éléments de la collection. Donc, c'est une façon de faire au cas où cela peut aider quelqu'un.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X