C#でマシンのIPアドレスを表示する方法【DnsクラスとAddressListプロパティの使い方】
C#で自分のマシンのIPアドレスを取得して表示したい場合、System.Net名前空間に含まれるDnsクラスとIPHostEntry.AddressListプロパティを利用するのが最も簡単な方法です。
IPアドレスを取得する仕組み
まず、Dns.GetHostName()メソッドでローカルマシンのホスト名を取得します。次に、そのホスト名を引数としてDns.GetHostEntry()メソッドに渡すことで、IPHostEntryオブジェクトが返されます。
このIPHostEntryオブジェクトのAddressListプロパティには、該当するホストに関連付けられたすべてのIPアドレス(IPv4およびIPv6)がIPAddress型の配列として格納されています。
IPHostEntry myIP = Dns.GetHostEntry(hostName);
IPAddress[] address = myIP.AddressList;
サンプルコード:IPアドレスを表示する
以下は、ホスト名とIPアドレスの一覧をコンソールに出力する完全なサンプルコードです。
using System;
using System.Net;
class Program {
static void Main() {
// ローカルマシンのホスト名を取得
String hostName = Dns.GetHostName();
Console.WriteLine("Hostname: " + hostName);
// ホスト名からIPHostEntryを取得
IPHostEntry myIP = Dns.GetHostEntry(hostName);
// アドレス一覧を配列として取り出す
IPAddress[] address = myIP.AddressList;
// すべてのIPアドレスを表示
for (int i = 0; i < address.Length; i++) {
Console.WriteLine("IP Address {0} : {1}", i + 1, address[i].ToString());
}
Console.ReadLine();
}
}
コードのポイント
- Dns.GetHostName():実行中のマシンに設定されているホスト名(コンピュータ名)を文字列で返します。
- Dns.GetHostEntry():ホスト名またはIPアドレス文字列を引数にとり、DNS情報を含む
IPHostEntryを返します。 - AddressListプロパティ:
IPAddress[]型の配列を返すため、ループ処理で複数のアドレスを順番に表示できます。
実行結果の例
Hostname: MY-PC
IP Address 1 : 192.168.1.10
IP Address 2 : fe80::a1b2:c3d4:e5f6:1234%12
環境によっては、IPv4アドレスだけでなくIPv6アドレスも一緒に取得される点に注意してください。IPv4のみが必要な場合は、address[i].AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkのような条件でフィルタリングするとよいでしょう。
-
Matplotlib×networkxでエッジラベルの表示位置をカスタマイズする方法
Pythonのnetworkxでは、draw_networkx_edge_labels()関数を使うことで、グラフのエッジ(辺)にラベルを描画できます。ラベルの表示位置(オフセット)は、label_pos引数で自由に調整できます。この記事では、有向グラフを作成し、各エッジにラベルを付けて表示位置を変更する具体的な手順を、サンプルコード付きで解説します。 エッジラベルをカスタマイズする手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 エッジ・名前・グラフ属性を持つグラフを初期化します。 複数のノードを追加します。 Fruchterman-Reingold力
-
Windows 11でIPアドレスを確認する方法|コマンドプロンプトと設定アプリの手順
インターネット接続に不具合が生じたとき、さまざまな対処法を試す中で、自分のPCのIPアドレスを把握しておくと意外と役立ちます。 IPアドレス(Internet Protocol Address)とは、インターネット上でデバイスを識別するための一意な数値アドレスのことです。機械にとっての「郵便番号」と考えると分かりやすいでしょう。現実世界で郵便番号が住所を特定するように、IPアドレスはコンピューターの場所を示し、デバイス同士がお互いを見つけて通信できるようにしています。 Windows 11でIPアドレスを確認する方法は複数あります。まずは最もシンプルな方法である「コマンドプロンプト」を使う