2016-11-10 2 views
-1
string myinput = "ABC"; 
int inputLoopIndex = 5; 

今出力は私がどのように文字列をループして、指定されたインデックスの文字を返すか?

string myinput = "ABC"; 
char mycharachter; 
for (int i = 0; i <= inputLoopIndex ; i++) 
{ 
    mycharachter = myinput[i]; 
} 

エラーのようにしようとした文字出力= B

する必要があります - Index out of bound

+0

の長さをあふれイテレータを処理する必要がある理由インデックスは5の出力= 'B'がある場合は?あなたがしようとしているロジックが何であるか説明してください。文字列に存在しないインデックスにアクセスしているので例外は正しいです。 –

+2

私はその文字列の長さをモジューロと仮定します。 – Amy

+0

そのちょうど入力 - inputLoopIndex – Neo

答えて

1
string myinput = "ABC"; 
char mycharachter; 
for (int i = 0; i <= 5; i++) 
{ 
    mycharachter = mystring[i % mystring.Length]; 
} 

あなたは剰余を使用することができます(%)演算子、ラウンドラウンドに効果的に使用することができます(残りの部分を取得します)。 Read more about it on Wikipedia

0

あなたは、配列

string myinput = "ABC"; 
char mycharachter; 
for (int i = 0; i <= 5; i++) 
{ 
    int theIndex = i % mystring.Length; 
    mycharachter = mystring[theIndex]; 
} 
関連する問題