1

在要安装我的应用程序的机器上,有多个网卡,其中一些用于在内部网络中通信,而其中只有一个用于向外通信。

任何人都知道如何在 c# 中检索该特定网络适配器的 ip?

我看过很多关于如何检索简单 ip 地址但没有参考具有多个适配器的机器的示例。

我应该补充一点,即使该特定适配器与网络断开连接并且所有适配器都使用静态 IP 地址,该解决方案也必须有效。

4

1 回答 1

1

你可以这样做:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
internal class Program
{
    private static void Main(string[] args)
    {

        NetworkInterface netif =
            NetworkInterface
           .GetAllNetworkInterfaces()
           .Single(networkInterface => networkInterface.Name.ToLower() =="loopback pseudo-interface 1");


        IPInterfaceProperties properties = netif.GetIPProperties();
        UnicastIPAddressInformationCollection unicastIpAddress = properties.UnicastAddresses;

        Console.Write(netif.Name + ": ");
        Console.WriteLine(unicastIpAddress[1].Address);



        Console.ReadLine();

        }

    }

}
于 2013-06-16T16:13:24.090 回答