string host=Dns.GetHostName;  
这句应该是错误的 Addresslist只能是你本机的IP,如果一台电脑有多个网卡的话会有多个IP 所以是个数组
 

解决方案 »

  1.   

    String name = Dns.GetHostName();
    IPHostEntry entry = Dns.GetHostEntry(name);
    String ip = entry.AddressList[0].ToString();
      

  2.   

    属性就没有括号了
    方法当然有了
    Addresslist是你本机的所有IP(因为你可能多个网卡)
    局域网的IP,要你扫描才可以知道
    Addresslist[0]是第一个
    Addresslist[1]是第二个
    .................
      

  3.   

    ref: 那怎么改呢?
    ---------
    -_-!!! 无言, 6L不是已经给你代码?
      

  4.   

    String name = Dns.GetHostName; 这句是错的!要改成String name = Dns.GetHostName();IPHostEntry ipHostEntry=Dns.GetHostByName(Dns.GetHostName()); 
    IPAddress addr=new IPaddress(ipHostEntry.Addresslist[0].Address); Addresslist这里都是你本机的IP地址, 例如你本机有两块网卡,Addresslist数组长度就为2。
    ipHostEntry.Addresslist[0].Address 这是第一块网卡地址
    ipHostEntry.Addresslist[1].Address 这是第二块网卡地址
      

  5.   

    string host=Dns.GetHostName; 
    IPHostEntry ipHostEntry=Dns.GetHostByName(Dns.GetHostName()); 
    请问为什么第一个GetHostName后面没有加括号,而第二个GetHostName后面有加括号; 
    都是函数吗? IPAddress addr=new IPaddress(ipHostEntry.Addresslist[0].Address); 
    这里我是本机运行所以Addresslist[0]是我的地址,那如果是有多个机器共用一个网络的,我怎么获得我的IP地址呢?