最近我們的開發的系統上線,我們開發組辛勤勞動成果就要開花的時候,出來一個問題。"索引在陣列之外"給了我們當頭一棒,讓我們摸不著頭腦,上面也對我們有了看法。今天我們三人組傾全力,終於找出了問題,原來是我之前寫的代碼不夠嚴謹,自責啊,害了我的兩個好同事找了一天。最后終於找到了問題所在。代碼如下:
這段代碼作用是當系統登入后將IP地址記錄下來。
當獲得兩個地址時,其中一個IP地址獲取不到,就會出錯!
我的代碼不夠嚴謹,造成了這次錯誤,要記住這個教訓。
這段代碼作用是當系統登入后將IP地址記錄下來。
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if (addressList.Length>=1)
{
s = addressList[0].ToString();
}
else
{
//只獲得前三個IP
for (int i = 0; i < 3; i++)
{
s += addressList[i].ToString() + " ";
}
}
紅色部份就是出錯的部份。if (addressList.Length>=1)
{
s = addressList[0].ToString();
}
else
{
//只獲得前三個IP
for (int i = 0; i < 3; i++)
{
s += addressList[i].ToString() + " ";
}
}
當獲得兩個地址時,其中一個IP地址獲取不到,就會出錯!
我的代碼不夠嚴謹,造成了這次錯誤,要記住這個教訓。