2015-08-22 1 views
1

je dois faire une fonction dynamique retour []Comment ajouter des éléments dans un tableau dynamique

Cela fonctionne bien pour moi

public static dynamic[] GetDonutSeries(this Polls p) 
    { 
     return new dynamic[] 
      { 
       new {category = "Football",value = 35}, 
       new {category = "Basketball",value = 25}, 
       new {category = "Volleyball",value = 20}, 
       new {category = "Rugby",value = 10}, 
       new {category = "Tennis",value = 10} 
      }; 
    } 

Mais je dois ajouter des éléments qui font différentes opérations.

Vous aimez cette

public static dynamic[] GetDonutSeries(this Polls p) 
    { 
     dynamic[] result = new dynamic[](); 

     foreach (PollOptions po in p.PollOptions) 
     { 
      result.Add(new {category = po.OptionName,value = po.PollVotes.Count}); 
     } 
     return result; 
    } 

Mais je ne peux pas utiliser la méthode .Add pour dynamique []. Comment je peux le faire?

+0

-t-result = nouvelle dynamique []() 'dynamique [];' compile tout ? – Rahul

+0

Oui, il compile – Turi

Répondre

3

Un tableau ne possède pas la méthode Add. Il semble que vous cherchez un List

public static List<dynamic> GetDonutSeries(this Polls p) 
{ 
    List<dynamic> result = new List<dynamic>(); 

    foreach (PollOptions po in p.PollOptions) 
    { 
     result.Add(new { category = po.OptionName, value = po.PollVotes.Count }); 
    } 
    return result; 
} 

Si vous devez retourner un tableau, vous pouvez utiliser result.ToArray()

+1

cela fonctionne. Merci! – Turi