2017-08-12 11 views
-6

foreachというキーワードを使用している定義済みstringの特定の単語を検索したいのですが、機能しません。私のC#プログラムで何が間違っていますか?

私はこれで初心者です。私はこの点で何が間違っているのか教えてください。私は配列を使いたくありません。

static void Main(string[] args) 
{ 
    string str = "Hello You are welcome"; 

    foreach (string item in str)  // can we use string here? 
    { 
     if (str.Contains(are);  // I am checking if the word "are" is present in the above string 
      Console.WriteLine("True"); 
      ) 
    } 
+1

を。配列を取得する文字列を['Split'](https://msdn.microsoft.com/en-us/library/system.string.split(v = vs.110).aspx)する必要があります – UnholySheep

+2

また、なぜですかあなたは 'foreach'を使用しようとしていますか? 'str.Contains(" are ")"はすでに単語が文字列に入っているかどうかを確認します – UnholySheep

+0

コンパイラはあなたの** yes/no **の質問の答えを教えてくれるでしょう。コンパイラは "タイプ 'char'を 'string'に変換できないので、はっきりと** no **と言います。 –

答えて

0

この

static void Main(string[] args) 
{ 

    string str = "Hello You are welcome"; 
    foreach (var item in str.Split(' ')) // split the string (by space) 
    { 
     if (item == "are") 
     { 
      Console.WriteLine("True"); 
     } 
    } 
} 
+0

それでもコンパイルされません – UnholySheep

4
string str = "Hello You are welcome"; 

if (str.Contains("are")) 
{ 
    Console.WriteLine("True"); 
} 

かを意味してみてください(あなたも含まれていませんでした)エラーメッセージが明確にあなたがこれを行うことはできませんことを示しています

string str = "Hello You are welcome"; 

foreach (var word in str.Split()) // split the string (by space) 
{ 
    if (word == "are") 
    { 
     Console.WriteLine("True"); 
    } 
} 
+1

ありがとうございました –

+0

@TestProgrammer問題を解決した場合、回答を受け入れたものとしてマークしてください。 –

+0

後者はあなたが望むものでしょう - 前者は 'bare'が文字列中の単語であれば真を返します。 – mjwills

関連する問題