本文整理匯總了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);
}