.NET 8 中引入了 System.Net.IPNetwork 类,它是一个用于处理 IP 地址和网络的实用程序类。
以下是 IPNetwork 类的基本用法:
创建 IPNetwork 对象
using System;
using System.Net;
class Program
{
static void Main()
{
// 创建一个 IPNetwork 对象
IPNetwork network = new IPNetwork(IPAddress.Parse("192.168.0.0"), 24);
// 获取网络地址
IPAddress networkAddress = network.Network;
// 获取广播地址
IPAddress broadcastAddress = network.Broadcast;
// 获取子网掩码
IPAddress subnetMask = network.SubnetMask;
// 输出结果
Console.WriteLine($"Network Address: {networkAddress}");
Console.WriteLine($"Broadcast Address: {broadcastAddress}");
Console.WriteLine($"Subnet Mask: {subnetMask}");
}
}
检查 IP 地址是否属于网络
using System;
using System.Net;
class Program
{
static void Main()
{
// 创建一个 IPNetwork 对象
IPNetwork network = new IPNetwork(IPAddress.Parse("192.168.0.0"), 24);
// 要检查的 IP 地址
IPAddress ipAddress = IPAddress.Parse("192.168.0.1");
// 检查是否属于网络
bool isWithinNetwork = network.Contains(ipAddress);
Console.WriteLine($"Is {ipAddress} within the network? {isWithinNetwork}");
}
}
检查两个网络是否相交
using System;
using System.Net;
class Program
{
static void Main()
{
// 创建两个 IPNetwork 对象
IPNetwork network1 = new IPNetwork(IPAddress.Parse("192.168.0.0"), 24);
IPNetwork network2 = new IPNetwork(IPAddress.Parse("192.168.1.0"), 24);
// 检查两个网络是否相交
bool doIntersect = network1.Intersects(network2);
Console.WriteLine($"Do networks intersect? {doIntersect}");
}
}
这些示例展示了 IPNetwork 类的基本用法。它提供了一组方便的方法来处理 IP 地址和网络,使得在应用程序中进行相关计算和判断变得更加容易。
2