在C#中如何判断IP地址是IPv4?
展开全部
如果判断某个ip地址是IPv4还IPv6的话,IPAdress那个类里面有一个判断是不是IPV6的方法。
如果想判断某个字符串是不是ip地址的IPv4的话,建议在百度搜搜正则表达式,很简单的一个引用,两三句代码就能搞定
如果想判断某个字符串是不是ip地址的IPv4的话,建议在百度搜搜正则表达式,很简单的一个引用,两三句代码就能搞定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取IP,转成字符串,判断“. ”的个数怎么样
如果是3,则是IPv4
更详细的判断比如每段的范围限制等 再另作研究吧
如果是3,则是IPv4
更详细的判断比如每段的范围限制等 再另作研究吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
微软的API是这样设计的
private bool IsIPv4
{
get { return _numbers == null; }
}
private bool IsIPv6
{
get { return _numbers != null; }
}
public AddressFamily AddressFamily
{
get
{
return IsIPv4 ? AddressFamily.InterNetwork : AddressFamily.InterNetworkV6;
}
}
所以, 可以绕一圈
最后代码如下
/// <summary>
/// 是否为IPv4地址
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public bool IsIPv4(IPAddress ip)
{
return ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork;
}
/// <summary>
/// 是否为IPv6地址
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public bool IsIPv6(IPAddress ip)
{
return ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6;
}
private bool IsIPv4
{
get { return _numbers == null; }
}
private bool IsIPv6
{
get { return _numbers != null; }
}
public AddressFamily AddressFamily
{
get
{
return IsIPv4 ? AddressFamily.InterNetwork : AddressFamily.InterNetworkV6;
}
}
所以, 可以绕一圈
最后代码如下
/// <summary>
/// 是否为IPv4地址
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public bool IsIPv4(IPAddress ip)
{
return ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork;
}
/// <summary>
/// 是否为IPv6地址
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public bool IsIPv6(IPAddress ip)
{
return ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询