2017-01-23 36 views
0

私は特定の文字列を含む行を見つけようとしており、その行全体を印刷しています。StreamReader - 特定の文字列を含む行を読み込む方法は?

using (StreamReader reader = process.StandardOutput) 
{ 
    string result; 
    string recipe;      
    while ((result = reader.ReadLine()) != null) 
    { 
     if (result.Contains("Recipe:")) 
     { 
      recipe = reader.ReadLine();                
     }        
    }      
} 

問題は、このコードは、文字列を含む行を次の行を読んで、そしてないということです。

これは私がこれまでに得たものです。テキスト「レシピ:」を含む行を読むには?あなたがresult = reader.ReadLine()を呼び出すときにつまり、reader.ReadLine()呼び出しは常に読み込まれるの行を返します

if (result.Contains("Recipe:")) 
{ 
     recipe = result;               
} 

+3

あなたは既に 'result'の中にあります。どうしたの? – SLaks

答えて

2

あなたはすでにあなたの現在の行が含まれて、代わりに現在のresultオブジェクトを使用したいです実際には現在の行にresultの内容を設定します。

をループ内に設定しようとしたときに結果が正しくない理由を説明します。reader.ReadLine()に設定すると、次の行を読み込んでその結果を使用するだけです。

+0

私はあなたが本当に同じ文字列を格納してはいけないと言うでしょう、ちょうど 'result'を使用してください。 – Dispersia

+0

パーフェクト!出来た。説明してくれてありがとう! – AlexC

関連する問題