C#判断给定IP地址是否在指定范围内的方法

 更新时间:2015年03月23日 16:37:34   作者:八大山人  
这篇文章主要介绍了C#判断给定IP地址是否在指定范围内的方法,涉及C#针对IP地址的转换与匹配操作技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了C#判断给定IP地址是否在指定范围内的方法。分享给大家供大家参考。具体分析如下:

比如给定一个ip段:127.0.0.1 ~ 127.0.0.255,我们想判断一个给定的ip地址是否在此段内,可以先将ip地址转换成整数,然后整数比较大小就很容易了。

例如:
127.0.0.1 = 2130706433
127.0.0.255 = 2130706687

判断:
127.0.1.253 = 2130706941
是否在此范围内,直接比较整数大小即可

将ip地址转换成整数:

public static long IP2Long(string ip)
{
  string[] ipBytes;
  double num = 0;
  if(!string.IsNullOrEmpty(ip))
  {
   ipBytes = ip.Split('.');
   for (int i = ipBytes.Length - 1; i >= 0; i--)
   {
   num += ((int.Parse(ipBytes[i]) % 256) * Math.Pow(256, (3 - i)));
   }
  }
  return (long)num;
}

判断给定ip地址是否在指定范围内:

long start = IP2Long("127.0.0.1");
long end = IP2Long("127.0.0.255");
long ipAddress = IP2Long("127.0.1.253");
bool inRange = (ipAddress >= start && ipAddress <= end);
if (inRange){
 //IP Address fits within range!
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#使用WebService结合jQuery实现无刷新翻页的方法

    C#使用WebService结合jQuery实现无刷新翻页的方法

    这篇文章主要介绍了C#使用WebService结合jQuery实现无刷新翻页的方法,涉及C#中WebService与jQuery操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • WPF MVVM示例讲解

    WPF MVVM示例讲解

    WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制,当数据发生变化时,WPF会自动发出通知去更新UI,这篇文章通过示例让大家体验下WPF MVM,有需要的朋友可以参考下
    2015-08-08
  • Unity 实现框选游戏战斗单位的思路详解

    Unity 实现框选游戏战斗单位的思路详解

    这篇文章主要介绍了Unity 如何实现框选游戏战斗单位,本文简单介绍如何实现即时战略游戏中框选战斗单位的功能,需要的朋友可以参考下
    2022-12-12
  • C#中如何自定义配置上周和本周起始日来查询业务数据(思路详解)

    C#中如何自定义配置上周和本周起始日来查询业务数据(思路详解)

    在C#中并没有封装的方法根据我们需要来直接获取上一周某天到某天、本周某天到某天,所以需要我们自己封装方法来实现(我们也可以按照这个思路使用其他语言来实现),感兴趣的朋友跟随小编一起看看吧
    2023-09-09
  • C#多线程编程Task用法详解

    C#多线程编程Task用法详解

    本文详细讲解了C#多线程编程Task的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#基于数据库存储过程的AJAX分页实例

    C#基于数据库存储过程的AJAX分页实例

    这篇文章主要介绍了C#基于数据库存储过程的AJAX分页实现方法,以实例形式详细讲述了数据库存储过程的定义、数据库的访问及Ajax的实现技巧,需要的朋友可以参考下
    2015-01-01
  • Unity的IPreprocessBuildWithReport实用案例深入解析

    Unity的IPreprocessBuildWithReport实用案例深入解析

    这篇文章主要为大家介绍了Unity的IPreprocessBuildWithReport实用案例深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • C#实现Log4Net日志分类和自动维护实例

    C#实现Log4Net日志分类和自动维护实例

    这篇文章主要介绍了C#实现Log4Net日志分类和自动维护,实例讲述了Log4Net日志分类和自动维护的实现方法,并提供了完整的实例供大家参考学习,需要的朋友可以参考下
    2014-10-10
  • 使用VS2010 C#开发ActiveX控件(上)

    使用VS2010 C#开发ActiveX控件(上)

    最近做读卡器的B/S应用程序开发,由于读卡器厂商提供的手册都是C/S版本的,而且只有一个原始的Dll包,并没有web版的,那么就只好自己动手,丰衣足食了
    2011-05-05
  • C#中的Action、Func和Predicate如何使用

    C#中的Action、Func和Predicate如何使用

    这篇文章主要给大家介绍了关于C#中Action、Func和Predicate如何使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论