C#获取本机IP地址(ipv4)

获取本机IP地址是在编程过程中常用的功能之一,本文将详细讲解如何使用C#获取本机IP地址(ipv4)。

获取本机IP地址的代码

下面是获取本机IP地址的C#代码:

using System.Net;
using System.Net.Sockets;

IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList.FirstOrDefault(address => address.AddressFamily == AddressFamily.InterNetwork);
string localIp = ipAddress.ToString();

解释代码

代码中,Dns.GetHostName()方法会返回计算机的主机名,Dns.GetHostEntry()方法会返回包含IP地址列表的IPHostEntry实例。其中,AddressList属性返回IP地址列表,我们使用FirstOrDefault方法获取第一个ipv4地址。

最后返回的IP地址是字符串类型,通过ToString()方法将IPAddress实例转换成字符串型变量。

需要注意的是,这种方法只能获取到对应网络适配器的IP地址,并不一定是对外可用的公网IP地址。

示例说明

下面给出两个示例,用于解释如何获取本机IP地址:

示例一:获取IP地址字符串

using System.Net;
using System.Net.Sockets;

IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList.FirstOrDefault(address => address.AddressFamily == AddressFamily.InterNetwork);
string localIp = ipAddress.ToString();

Console.WriteLine("本机IPv4地址为:" + localIp);

示例二:获取IP地址的字节数组

using System.Net;
using System.Net.Sockets;

IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList.FirstOrDefault(address => address.AddressFamily == AddressFamily.InterNetwork);
byte[] localIpBytes = ipAddress.GetAddressBytes();

Console.Write("本机IPv4地址的字节数组为:");
foreach(byte b in localIpBytes)
{
    Console.Write(b + ".");
}

在示例二中,我们使用IPAddress实例的GetAddressBytes()方法,将ip地址转换为字节数组,方便处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#获取本机IP地址(ipv4) - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • ASP.NET Core MVC/WebApi基础系列1

    ASP.NET Core MVC/WebApi基础系列1 本攻略将介绍ASP.NET Core MVC/WebApi的基础知识,包括控制器、路由、模型绑定、过滤器等。本攻略将提供详细的步骤和示例说明,以帮助您快速入门ASP.NET Core MVC/WebApi。 步骤 步骤1:创建一个新的ASP.NET Core MVC/WebApi项目 首先,需要创建一…

    C# 2023年5月17日
    00
  • .net2.0+ Winform项目实现弹出容器层

    下面是“.net2.0+Winform项目实现弹出容器层”的攻略: 准备工作 首先,我们需要创建一个WinForms应用程序,然后添加一个Windows 窗体(Form)并设置一个按钮(Button)用于弹出容器控件。同时,我们需要通过NuGet包管理器安装一个叫做“MetroModernUI”的UI框架,这个框架提供了一些漂亮的样式和控件,可以让我们的UI…

    C# 2023年5月15日
    00
  • 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。

    这个错误提示通常表示程序在加载某个DLL文件时出现了问题,这个DLL文件可能是应用程序的依赖项之一,或者是应用程序本身的一部分。以下是解决这个错误的一些常见步骤: 1. 检查DLL文件的位数 如果应用程序是64位的,那么它需要使用64位的DLL文件。如果应用程序是32位的,那么它需要使用32位的DLL文件。如果你将不同位数的DLL文件混合使用会导致这个错误,…

    C# 2023年5月15日
    00
  • C# winform打印excel的方法

    下面是关于如何使用C# WinForm打印Excel的完整攻略,包含以下几个步骤: 1. 引用Excel Interop 要打印Excel,需要使用Microsoft Excel Interop库。这个库需要先引用才能在程序中使用。下面是引用Excel Interop的具体步骤: 在Visual Studio的工具栏中选择“项目”。 在项目中选择“添加引用”…

    C# 2023年6月7日
    00
  • Winform中Treeview实现按需加载的方法

    一、Winform中Treeview实现按需加载的方法 Winform中的Treeview控件非常适合用于显示树形结构的数据,但如果树的层次比较多或者数据比较庞大,一次性将所有数据全部加载到TreeView中显然不太现实,这时就需要实现按需加载的功能,即当需要展开树节点时,才动态地加载该节点下的子节点。 实现按需加载需要以下几个步骤: 1.设置TreeVie…

    C# 2023年5月31日
    00
  • C#使用Monitor类实现线程同步

    关于“C#使用Monitor类实现线程同步”的完整攻略,以下为具体内容: Monitor类简介 Monitor类属于System.Threading命名空间,它提供了一种同步机制以控制对共享资源的访问。Monitor实现相对于lock语句的优点在于使用了更低层次的同步原语,因此可以更细粒度地控制线程的同步。 Monitor类的基本用法 首先是使用Monito…

    C# 2023年5月15日
    00
  • .Net Core WebApi部署到Windows服务器上的步骤

    部署.NET Core WebApi到Windows服务器上的步骤如下: 在Windows服务器上安装.NET Core运行时环境。 在Windows服务器上安装IIS。 在Windows服务器上安装ASP.NET Core Module。 在Windows服务器上创建一个新的网站。 配置网站以使用ASP.NET Core Module。 将WebApi部署…

    C# 2023年5月16日
    00
  • C#两个相同属性的类赋值方法

    为了理解C#两个相同属性的类赋值方法,我们需要首先了解两个重要的概念:类和类的属性。类是对象的模板或蓝图,它定义了对象的状态和行为;而属性是类的成员之一,用来描述对象的特征或状态。在C#中,我们可以通过类的赋值来将一个对象的属性的值赋给另一个对象。 接下来,我们将讨论C#两个相同属性的类赋值方法的完整攻略,过程中将包含两条示例说明: 一、初步了解类和类的属性…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部