首页 / 知识
关于.net:如何在C#中将IP地址字符串解析为uint值?
2023-04-13 18:24:00

How do you parse an IP address string to a uint value in C#?我正在编写使用Windows IP Helper API的C#代码。我尝试调用的功能之一是" GetBestInterface",它采用IP的" uint"表示。我需要解析IP的文本表示形式以创建'uint'表示形式。 我已经通过Google找到了一些示例,例如一个或一个,但是我敢肯定,应该有一种使用.NET实现此目标的标准方法。唯一的问题是,我找不到这种标准方式。 IPAddress.Parse似乎是朝着正确的方向发展,但是它并没有提供任何获取'uint'表示形式的方法... 还有一种使用IP Helper,使用ParseNetworkString进行此操作的方法,但是我还是宁愿使用.NET-我相信我对pInvoke的依赖程度越低越好。 那么,有人知道在.NET中执行此操作的标准方法吗? 应该不是:
? MSDN表示IPAddress.Address属性(返回IP地址的数字表示形式)已过时,应使用GetAddressBytes方法。 您可以使用以下代码将IP地址转换为数值:
编辑:
此解决方案比手动移位更易于阅读。 请参阅如何在C#中将IPv4地址转换为整数? 此外,您还应该记住IPv4和IPv6的长度是不同的。 观察字节序的正确解决方案:
完整解决方案:
字节的相反顺序:
您可以在这里进行测试: https://www.browserling.com/tools/dec-to-ip http://www.smartconversion.com/unit_conversion/IP_Address_Converter.aspx http://www.silisoftware.com/tools/ipconverter.php
输出将是 不建议使用字节算法,因为它依赖于所有IP为4字节的IP。 我从未找到针对此问题的干净解决方案(即.NET Framework中的类/方法)。我想除了您提供的解决方案/示例或Aku的示例外,它不可用。 :( |
最新内容
相关内容
linux修改地址命令?
linux修改地址命令?,地址,系统,代码,网络,服务,信息,密码,命令,管理,基础,linux设置ip地址?打开Linux终端系统,然后在系统中输入如下代码。然后linux内核总调用命令?
linux内核总调用命令?,工作,地址,系统,信息,管理,策略,命令,目录,时间,基础,如何在Linux内核里增加一个系统调用?在一个进程中创建3个线程,名字linux查看命令的地址?
linux查看命令的地址?,地址,系统,网络,信息,设备,电脑,手机,终端,技术,环境,linux查询ip地址命令输入以下命令:ipaddrshow。每个设备的IP地址位linux编程调用命令?
linux编程调用命令?,系统,标准,管理,工作,基础知识,情况,环境,设备,基础,首页,linux下怎样用c语言调用shell命令可以通过system函数,调用shelllinux命令查找字符串?
linux命令查找字符串?,工具,信息,命令,字符串,系统,工作,文件,范本,样式,文本,Linux中使用grep命令,查询多个字符串Linux grep命令用于查找文linux地址查询命令?
linux地址查询命令?,地址,网络,系统,工作,信息,设备,名称,标准,手机,管理,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux撤销命令解析?
linux撤销命令解析?,系统,标准,工具,下来,数字,工作,命令,环境,设备,位置,linux的vi编辑器重做一次与重复前一个动作是一样的吗在vi中按u可以linux命令窗口调用?
linux命令窗口调用?,系统,工具,首页,终端,命令,数据,盘中,代码,密码,快捷键,怎么在linux中调用命令行中的命令,比如我想在一个程序中用命令行linux带源地址命令?
linux带源地址命令?,时间,地址,数据,网络,系统,信息,档案,命令,名称,名字,Linux系统中tracert命令使用详解1、traceroute [参数] [主机]命令功linux服务器调用命令?
linux服务器调用命令?,系统,地址,设备,标准,工作,密码,中心,盘中,网络,软件,如何通过ssh登录服务器执行linux指令1、打开windows系统中的ssh客linuxc调用命令框?
linuxc调用命令框?,系统,工作,标准,情况,设备,环境,命令,函数,语言,程序,如何在C语言编程中调用linux系统终端下的命令C语言有一个system函数(linux系统调用命令行?
linux系统调用命令行?,系统,网络,代码,密码,位置,工作,通用,平台,电脑,环境,怎么在linux中调用命令行中的命令,比如我想在一个程序中用命令行