2011-02-16 3 views
0

Regarder l'extrait de code suivant:chaîne contenant valeurs séparées par des virgules à un MATRICE

public JsonResult GetMapList(string siteDescription,string siteStatus) 
    { 
     var IDs = new[] { 3,4,5 }; 

Quelqu'un peut-il s'il vous plaît me conseiller sur la façon de neatest remplacer la pièce 3,4,5 hardcoded la siteStatus variable qui contiennent une virgule dynamique chaîne séparée comme 3,4,5

Merci à l'avance

Répondre

-1

Vous pourriez avoir besoin de faire un chèque nul autour de cette

string[] values = siteStatus.Split(','); 

int[] ids = Array.ConvertAll<string, int>(values, delegate(string s) { return int.Parse(s); }); 

ou avec LINQ

var ints = from m in siteStatus.Split(',') 
      select Convert.ToInt32(m); 
+0

qui amélioreraient ID un tableau de chaînes. –

+0

Je pense que vous trouverez que la question a demandé une virgule dynamique séparée STRING –

+0

merci, Cela fonctionne presque, il dit «essayer de spécifier les arguments de type explicitement». Votre déclaration peut-elle être définie comme int? – John

0
using System.Web.WebPages; 

var IDs = siteStatus.Split(',').Select(n => n.AsInt()); 

ou (probablement vous aurez également besoin d'une validation, car cela se brisera sur l'entrée erronée)

var IDs = siteStatus.Split(',').Select(n => int.Parse(n)); 
Questions connexes