在C#中如何判断IP地址是IPv4?

 我来答
宝蓓兵人一油15
推荐于2016-01-23
知道答主
回答量:3
采纳率:0%
帮助的人:3.3万
展开全部
IPAddress abc=IPAddress.Parse("10.2.190.1");
if (abc.AddressFamily == AddressFamily.InterNetwork)
{
MessageBox.Show(abc.ToString() + "是IPV4地址");
}
leafly0719
2011-11-17 · TA获得超过117个赞
知道答主
回答量:64
采纳率:0%
帮助的人:50.8万
展开全部
如果判断某个ip地址是IPv4还IPv6的话,IPAdress那个类里面有一个判断是不是IPV6的方法。
如果想判断某个字符串是不是ip地址的IPv4的话,建议在百度搜搜正则表达式,很简单的一个引用,两三句代码就能搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changyutongy
2011-11-16 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:109
采纳率:100%
帮助的人:81.6万
展开全部
获取IP,转成字符串,判断“. ”的个数怎么样
如果是3,则是IPv4
更详细的判断比如每段的范围限制等 再另作研究吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero_point
2022-10-27
知道答主
回答量:39
采纳率:0%
帮助的人:8.4万
展开全部
微软的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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式