linq to list<object>, et obtenir les valeurs par ligne

pour un test, j'ai besoin de faire une liste avec des valeurs de paramètre. Cette liste n'est pas par définition pré-définie comme un type et /ou de ce qui est en elle.

bool[] trueOrFalse = new bool[] { true, false };
        int[] para1 = new int[] { 1, 2, 3 };
        int[] para2 = new int[] { 5, 6, 7 };
        int[] para3 = new int[] { 1, 2, 3 };
        int[] para4 = new int[] { 5, 7, 9 };

        List<object> test = (from a in trueOrFalse
                   from b in para1
                   from c in para2
                   from d in para3
                   from e in para4
                   let f = c - d
                   where c - d <= 3
                   select new { a, b, c, d, e, f }).AsEnumerable<object>().ToList();

le résultat est très bien (c'est juste pour un test) et j'obtiens une liste avec toutes les combinaisons de paramètres possibles, que je peux utiliser comme paramètre pour une autre méthode. (J'en ai besoin que d'une liste, parce que, autant que je sache, var test ne peut pas être analysé comme un paramètre à une autre méthode.)

Quand je planent au-dessus de test en mode debug, je vois chaque ligne et chaque ligne contient un f comme un champ distinct.

Mais comment puis-je soustraire les valeurs?

disons que je veux utiliser une boucle foreach sur la liste.

comment puis-je définir int myA = un etc?
en ce qui concerne,

Matthijs

Si vous avez besoin de transmettre cette liste à une autre méthode, il est presque certainement sonne comme vous devez ajouter une classe dédiée - un casting pour List<object> est juste une mauvaise solution
Vous avez peut-être raison. Va le garder en tête pour des problèmes similaires à l'avenir.

OriginalL'auteur user369122 | 2011-07-26