2010-05-10 5 views
0

Ce que j'essaie de faire est de lire dans une ligne d'en-tête d'un fichier vers une zone de liste déroulante. Voici mon code:Chaîne C# aux problèmes de zone de liste déroulante

private void button4_Click(object sender, EventArgs e) 
{ 
    string[] startdelim = File.ReadAllLines(textBox1.Text); 
    int counter = 1; 
    foreach (string delim in startdelim) 
    { 
     if (counter == 1) 
     { 
      string removedelim = delim.Replace("\"", ""); 
      string[] lines = removedelim.IndexOf(","); 
      foreach (string line in lines) 
      { 
       comboBox1.Items.Add(line); 
      } 
     } 
     counter++; 
    } 
} 

pour une raison quelconque, il continue à me dire

erreur ne peut pas convertir implicitement le type 'int' à 'string []' à string[] lines = removedelim.IndexOf(",");

Répondre

4

IndexOf retourne la premier index de la chaîne "," au sein de removedelim. Vous cherchez Split.

string[] lines = 
    removedelim.Split(new string[] { "," }, StringSplitOptions.None); 

Notez qu'il n'y a pas une instance de Split qui prend un seul string (car certaines langues permettent une conversion implicite entre string et char[], ce qui rendrait la résolution de surcharge ambiguë et pas facilement corrigées), donc vous devez utiliser la surcharge qui prend un tableau de délimiteurs et n'en fournit qu'un.

0

Eh bien, l'erreur est assez simple. IndexOf renvoie la position entière du caractère que vous avez recherché. Vous devez faire un Split au lieu de IndexOf.

0

String. IndexOf(Char): Indique l'index de la première occurrence du caractère Unicode spécifié dans cette chaîne. Sting.IndexOf (char) renvoie un int et non un tableau de piqûres.

0

D'autres ont déjà repéré l'erreur. Il y a toujours des problèmes avec votre code. Tout ce dont vous avez besoin est de suivre les lignes de code:

string[] startdelim = File.ReadAllLines(textBox1.Text); 
comboBox1.Items.AddRange(startdelim[0].Replace("\","").Split(",")); 
+0

Bien que ce soit plus succinct (et, en fait, "meilleur"), ce n'est pas un "problème" avec son code. –

Questions connexes