2017-01-22 10 views
0

以下のコードはif文の先頭にエラーを投げています。私はそれが文字配列と何かを持っていると信じていますが、なぜそれがわからないのですか?どんな助けでも大歓迎です。'オブジェクト参照がオブジェクトのインスタンスに設定されていません'エラー

public void display_bits(int count) 
    { 

     //bits that will be displayed 

     string[] disp_bits = new string[1000]; 
     string[] disp_to_bits = new string[1000]; 

     int disp_count = 0; 

     for (int i = 0; i <= count; i++) 
     { 
      char[] chars = { '~', '+', '*' }; 


      if (bits[i].IndexOfAny(chars) != 0) 
      { 

       bits[i] = disp_bits[disp_count]; 
       to_bits[i] = disp_to_bits[disp_count]; 
       disp_count++; 

      }   
     } 
    } 
+0

ここで、正確にエラーがありますか? – WhatsThePoint

+0

if(bits [i] .IndexOfAny(chars)!= 0) – Jimmy

+0

'count'の値は何ですか? –

答えて

0

bits文字列配列は初期化されていないようです。

for (int i = 0; i <= count; i++)

あなたiインデックスはあなたの配列の境界外に出ないように

for (int i = 0; i < count; i++)

への変更が必要になる場合があります。

+0

私はクラスでそれをしました。そのグローバル変数 – Jimmy

+0

そして、それは間違いなく 'new'キーワードを使って初期化されていますか? –

+0

はい、以下のsytaxを使ってクラスの初めに初期化しました:string [] bits = new string [1000]; string [] to_bits =新しい文字列[1000]; – Jimmy

関連する問題