質問: 0; i < addr.length; i++) { console.writeline("ip address {0}: {1} ", i, addr[i].tostring()); } console.readline(); この例では、いくつかのipアドレスを取得していますが、プログラムを実行しているコンピュータにルーターが割り当てるipアドレスを取得することにのみ関心があります。インスタンス。私がネットワークに接続しておらず、ルータなしのモデムを介してインターネットに直接接続している場合は、エラーが発生します。自分のコンピュータがc#でネットワークに接続されているかどうか、そしてlanのipアドレスを取得するのかどうかを確認する方法はありますか。
回答: linqを活用するためのmrcheifのコードのリファクタリング(つまり、.net 3.0+)。 。private ipaddress localipaddress() { if (!system.net.networkinformation.networkinterface.getisnetworkavailable()) { return null; } iphostentry host = dns.gethostentry(dns.gethostname()); return host .addresslist .firstordefault(ip => ip.addressfamily == addressfamily.internetwork); } :)