2010-06-21 8 views
1

J'essaie de trouver une alternative à List<Tuple<Grid, TabItem, int, string, int>>..., puisque je dois être capable de modifier les valeurs des entiers ou des chaînes valeur.Alternative à la liste <Tuple <Grille, TabItem, int, chaîne, int >> ... en C#

Je dis «alternative» car je ne pense pas qu'il soit possible de modifier les valeurs d'un tuple. Je ne veux pas le supprimer et le créer de nouveau avec des valeurs différentes.

Répondre

3

Il semble que vous deviez créer votre propre classe pour contenir ces propriétés, puis vous pouvez appliquer le comportement souhaité. Les tuples sont pour la plupart juste pour le regroupement simple d'objets (généralement temporairement). Si vous voulez qu'un objet contienne toutes ces choses, soyez éditable pour certaines propriétés (mais pas d'autres?) Alors vous devriez juste écrire une classe pour cela.

class BagOfthings 
{ 
    public Grid Grid {get; private set;} 
    public TabItem TabItem {get; private set;} 
    public int id {get; private set;} 
    public String label {get; set;} 
    public int index {get; set;} 
} 

évidemment, vous devez choisir les variables noms qui ont du sens :)

0

Vous devriez probablement faire une liste de struct où vous nommez chacun des éléments de tuple:

struct mytype { 
    Grid mygrid; 
    TabItem myitem; 
    int myint; 
    // etc 
} 

Ensuite, utilisez List<mytype>. Bien sûr, vous devriez remplacer tous ces noms par quelque chose de plus significatif.