2017-08-13 7 views
0

リストボックスにIPアドレスのリストを表示するコードを探しています。ここに私が思いついたのですが、問題があります。ここarraylistからリストボックスへのIPアドレスを表示

private ArrayList twoNetwork() 
    { 

     ArrayList addresses = new ArrayList(); 

     string[] stringArray = firstAddressTB.Text.Split('.'); 

     byte[] Ip = stringArray.Select(byte.Parse).ToArray(); 

     Ip[3] = 0; 

     addresses.Add(Ip);    
     tableauIp[3] += 1; 
     addresses.Add(Ip); 

     return addresses; 
    } 

私はのは、192.168.0.0を言うと192.168.0.1を追加してみましょうのArrayListのを作るしようとしています。私のコードの問題は、arraylistが両方のエントリの192.168.0.1になるということです。 192.168.0.0と192.168.0.1の両方をリストボックスに表示します。

+0

Ip [3] = 0から明らかですが、質問が明確でない –

+0

「ArrayList」を使用しないでください。 'List ' –

答えて

0

アレイのインスタンスを2つ作成してArrayListに追加します。そうしないと、同じインスタンスを2回更新して追加します。

private ArrayList twoNetwork() 
    { 
     ArrayList addresses = new ArrayList(); 
     string[] stringArray = firstAddressTB.Text.Split('.'); 
     addresses.Add(stringArray.Select(byte.Parse).ToArray()); 
     addresses.Add(stringArray.Select(byte.Parse).ToArray()); 
     addresses[0][3] = 0; 
     addresses[1][3] = 1; 
     return addresses; 
    } 
+0

thxがあなたの答えから何かを働きました! –

0

あなたのコードは以下のように少し修正が必要ですが、ArrayListはPrivateメソッドで宣言されているため、変数スコープはそのスコープ内にのみあります。それに応じて変更してください。

+0

thx thats良い点 –

関連する問題