本文整理汇总了C#中System.Net.IPAddress.GetLength方法的典型用法代码示例。如果您正苦于以下问题:C# IPAddress.GetLength方法的具体用法?C# IPAddress.GetLength怎么用?C# IPAddress.GetLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.IPAddress
的用法示例。
在下文中一共展示了IPAddress.GetLength方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsInRange
public bool IsInRange(IPAddress address)
{
// Some people just have to be like that...
if (address.AddressFamily != Family || address.GetLength() != LowerBoundary.Length)
return false;
var bytes = address.GetAddressBytes();
var lowerBoundary = true;
var upperBoundary = true;
for (var i = 0; i < LowerBoundary.Length && (lowerBoundary || upperBoundary); i++)
{
var currentByte = bytes[i];
var lowerByte = LowerBoundary[i];
var upperByte = UpperBoundary[i];
if ((lowerBoundary && currentByte < lowerByte) || (upperBoundary && currentByte > upperByte))
return false;
lowerBoundary &= currentByte == lowerByte;
upperBoundary &= currentByte == upperByte;
}
return true;
}
示例2: IPAddressRange
public IPAddressRange(IPAddress lower, IPAddress upper)
{
Contract.Requires(lower.AddressFamily == upper.AddressFamily);
Contract.Requires(lower.GetLength() == upper.GetLength());
Family = lower.AddressFamily;
LowerBoundary = lower.GetAddressBytes();
UpperBoundary = upper.GetAddressBytes();
Contract.Assert(LowerBoundary.Length >= 4);
Contract.Assert(UpperBoundary.Length >= 4);
}