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 文章内容分页显示的代码

    为了实现文章内容的分页显示,我们可以使用 ASP.NET 内置的分页控件(Paging Control)或者自己手动实现分页功能。这里我将简单介绍一下自己手动实现分页功能的方法。 步骤一:确定需要分页的数据源 首先,我们需要确定需要分页显示的数据源,比如是从数据库、XML 文件或者其他来源获取的数据。为了演示方便,我们这里以从数组中获取数据为例。 strin…

    C# 2023年5月31日
    00
  • C# Path.GetFullPath – 获取路径的完整路径

    Path.GetFullPath 方法是 .NET 中用于获取给定路径的完整路径的静态方法。它将解析任何相对路径,并将其转换为绝对路径。 使用该方法时,可以传递一个字符串类型的路径作为参数,它将返回一个字符串类型的绝对路径。 例如,在 Windows 操作系统下,将字符串 “myFolder/myFile.txt” 作为参数传递给 Path.GetFullP…

    C# 2023年4月19日
    00
  • asp.net中List的使用方法

    下面是“asp.net中List的使用方法”的详细攻略: List介绍 List是C#中的一种泛型集合类型,常用来存储一组对象。List使用起来非常方便,可以用来替代数组,提供更多的组织和访问数据的方法。 如何使用List 在asp.net中,使用List需要引入System.Collections.Generic命名空间,可以通过以下代码来实现: usin…

    C# 2023年5月31日
    00
  • C#实现DVD借出归还管理系统

    C#实现DVD借出归还管理系统攻略 1. 设计系统结构 在设计实现DVD借出归还管理系统之前,我们首先需要确定系统的结构。一般地,可以将其划分为以下主要模块: 用户管理模块 DVD管理模块 借出归还模块 统计报表模块 2. 确定系统功能 在确定系统结构之后,我们需要确定系统的主要功能。一般地,DVD借出归还管理系统的主要功能包括: 添加、删除、修改DVD信息…

    C# 2023年6月1日
    00
  • C#使用第三方组件实现动态解析和求值字符串表达式

    C#使用第三方组件实现动态解析和求值字符串表达式 在C#中,有许多方法可以动态解析和求值字符串表达式。其中,使用第三方组件是一个非常简单和高效的方法。本篇攻略将详细讲解如何使用第三方组件实现动态解析和求值字符串表达式。 前置知识 在阅读本篇攻略之前,你需要具备以下基础知识: C#基础语法 C#反射机制 NuGet包管理器的使用 步骤 步骤一:安装第三方组件 …

    C# 2023年5月31日
    00
  • C#导出文本内容到word文档的方法

    C#导出文本内容到word文档的方法可以使用Microsoft.Office.Interop.Word组件来实现。以下是具体步骤: 步骤一:安装Microsoft.Office.Interop.Word组件 如果你的电脑上没有安装Microsoft Office,那么就需要手动安装这个组件。在安装这个组件之前,你需要确保已经安装了Microsoft Visu…

    C# 2023年5月15日
    00
  • C# WinForm程序完全退出的问题解决

    我将为您详细讲解“C# WinForm程序完全退出的问题解决”的完整攻略。 1. 问题描述 在使用 C# WinForm 开发应用程序时,通常需要实现程序完全退出的功能。但是,直接使用 this.Close() 或者 Application.Exit() 等方法退出程序时,往往会出现程序并未完全退出的问题,即程序在关闭窗口后仍然在运行,导致后续操作不能顺利进…

    C# 2023年6月7日
    00
  • .NET Core自定义配置文件

    在本攻略中,我们将详细讲解.NET Core自定义配置文件的实现方法,并提供两个示例说明。 创建配置文件:首先,我们需要创建一个配置文件。我们可以使用JSON、XML或INI等格式来创建配置文件。例如,我们可以创建一个名为appsettings.json的JSON格式的配置文件,内容如下: { "MyConfig": { "Na…

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