0
string[] hay = GetAllLines(filename); 
string needle = txtToonTotTekst.Text; 
string alertmsg = ""; 
string msg = ""; 
int keywordfound = 0; 
int lineno = 0; 
while (lineno <= hay.Length) 
{ 
    msg += hay[lineno];//msg = msg + hay[lineno]; 
    lineno++; 

    if ((hay[lineno].IndexOf(needle) == -1)) 
    { 
     keywordfound = 0; 
     continue; 
    } 
    else 
    { /*this means search word was found */ 
     keywordfound = 1; 
     alertmsg = msg; 
     //if coffee found in search string 
    } 

    if (keywordfound == 1) 
    { 
     alertmsg = msg; 
    } 
    lineno++; 
} 

if (alertmsg == "") 
{ 
    alertmsg = "Keyword not found"; 
} 

SchrijfUitvoer("Tekst tonen tot zoektekst + "txtToonTotTekst.Text, alertmsg); 

私の質問ですあなたが入れたときに、通常、それはテキストファイルからテキストを表示.....インデックスが配列の境界外だったと言っに関するエラー単語を検索すると、検索語が見つかった時点までの行が表示されますC#コード

+0

です:

while (lineno <= hay.Length) 

は次のようになります。C#でコレクションはそう、ゼロベースですか?どのラインがポイントしていますか(スタックトレース)? – stealththeninja

+0

if((hay [lineno] .IndexOf(needle)== -1)) – dahalK

+0

干し草[]は配列 – dahalK

答えて

0

lineno ++は2回あります。最後は1回だけです。あなたは、エラーメッセージを提供することができます

while (lineno < hay.Length) 

配列は長さ5を持っている場合は、最後の要素は、[4]

+0

私はその1つを試みたが、同じエラー – dahalK