2017-10-13 3 views
-4

Je suis drainé. Besoin d'aide pour ce qui est la méthode d'extension appropriée pour le type de chaîne « mots » ..... words.Text == « bleu » produit une erreurC# - Méthode d'extension

string userInput = textBox1.Text; 
      string[] words = userInput.Split(); 
      if (words.Text ==" blue ") 
      { 
      string color = words[2]; 
      label1.Text = "The third word is: " + color; 
      } 
      else 
      { 
       label1.Text = "Not enough words."; 
      } 
+7

'words' n'est pas un type' string' - c'est un tableau de 'string' – Fabio

+1

'words' est un tableau de chaînes, il n'a pas la propriété' Text'. Vous devez comparer avec 'words [index]' qui contient 'string'. –

+1

Aussi, vous semblez le savoir déjà, car vous attribuez la couleur à une date ultérieure ... – Icepickle

Répondre

0

Vous ne pouvez pas obtenir « .Text » sur le tableau de chaînes , quels "mots" est. Cependant, vous pouvez faire quelque chose comme:

 for (int i = 0; i < words.Length; i++) 
     { 
      Console.WriteLine(string.Format("The {0} word is {1}", i+1, words[i])); 
     } 

Cependant, je ne suis pas sûr de ce que vous excatly essayez de faire.

0

bonne récupération des valeurs d'un tableau:

string userInput = textBox1.Text; 
string[] words = userInput.Split(); 

foreach(string word in words) 
{ 
    if(word == "blue") 
    { 
     string color = word; 
     label1.text = "The third word is: " + color; 
    } 
    else 
    { 
     label1.Text = "Not enough words."; 
    } 
} 

je ne suis pas sûr de ce que vous essayez de le faire, mais si je suis strictement, vous pouvez simplement faire ceci:

if (words[2] ==" blue ") 
{ 
string color = words[2]; 
label1.Text = "The third word is: " + color; 
} 
else 
{ 
    label1.Text = "Not enough words."; 
} 
0

Si vous se référant à Linq alors pour trouver le mot bleu dans le tableau, il pourrait être

if (words.Any(x=>string.Equals(x, "blue"))) {