2017-08-13 22 views
0

我正在寻找一个代码来显示列表框中的ip地址列表。这是我想出来的,但有一个问题。显示ip地址从arraylist到列表框

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。使用'清单' –

回答

0

创建数组的两个实例并将它们添加到ArrayList,否则最终会更新并添加同一个实例两次。

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是在该私有方法中声明的,所以你的变量作用域将只在该范围内。请相应改变。

ArrayList addresses = new ArrayList(); 
private ArrayList twoNetwork() 
{ 

    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; 
} 
+0

thx多数民众赞成在一个好点 –