C#.NET 如何获得本机IP地址?
我用MSDN上的代码:stringstrHostName=Dns.GetHostName();//得到本机的主机名IPHostEntryipEntry=Dns.GetHo...
我用MSDN上的代码:
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); //取得本机IP
string ip = ipEntry.AddressList[0].ToString(); //假设本地主机为单网卡
结果得到ip为:2002:b00:11e:b00:11e
我把第三句的AddressList[0]改为AddressList[1]后,IP就正常了。
但我程序调试个2、3次后,就会说我的AddressList[1]数组越界了,再改为AddressList[0]后,IP又正常了。以后就一直用AddressList[0],直到下次打开VS2005。
(每次都是这样)
太奇怪了,怎么回事呢? 展开
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); //取得本机IP
string ip = ipEntry.AddressList[0].ToString(); //假设本地主机为单网卡
结果得到ip为:2002:b00:11e:b00:11e
我把第三句的AddressList[0]改为AddressList[1]后,IP就正常了。
但我程序调试个2、3次后,就会说我的AddressList[1]数组越界了,再改为AddressList[0]后,IP又正常了。以后就一直用AddressList[0],直到下次打开VS2005。
(每次都是这样)
太奇怪了,怎么回事呢? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询