wasSharpNET – Diff between revs 11 and 27
?pathlinks?
Rev 11 | Rev 27 | |||
---|---|---|---|---|
Line 28... | Line 28... | |||
28 | throw new ArgumentException("Number of hosts is to large for IPv4"); |
28 | throw new ArgumentException("Number of hosts is to large for IPv4"); |
|
Line 29... | Line 29... | |||
29 | |
29 | |
|
Line 30... | Line 30... | |||
30 | var binaryMask = new byte[4]; |
30 | var binaryMask = new byte[4]; |
|
31 | |
- | ||
32 | for (var i = 0; i < 4; i++) |
31 | |
|
- | 32 | for (var i = 0; i < 4; i++) |
||
33 | { |
33 | if (i * 8 + 8 <= netPartLength) |
|
- | 34 | { |
||
34 | if (i * 8 + 8 <= netPartLength) |
35 | binaryMask[i] = 255; |
|
- | 36 | } |
||
35 | binaryMask[i] = 255; |
37 | else if (i * 8 > netPartLength) |
|
- | 38 | { |
||
36 | else if (i * 8 > netPartLength) |
39 | binaryMask[i] = 0; |
|
37 | binaryMask[i] = 0; |
40 | } |
|
38 | else |
41 | else |
|
39 | { |
42 | { |
|
40 | var oneLength = netPartLength - i * 8; |
43 | var oneLength = netPartLength - i * 8; |
|
41 | var binaryDigit = |
44 | var binaryDigit = |
|
42 | string.Empty.PadLeft(oneLength, '1').PadRight(8, '0'); |
45 | string.Empty.PadLeft(oneLength, '1').PadRight(8, '0'); |
|
43 | binaryMask[i] = Convert.ToByte(binaryDigit, 2); |
- | ||
44 | } |
46 | binaryMask[i] = Convert.ToByte(binaryDigit, 2); |
|
45 | } |
47 | } |
|
Line 46... | Line 48... | |||
46 | return new IPAddress(binaryMask); |
48 | return new IPAddress(binaryMask); |
|
47 | } |
49 | } |
|
Line 59... | Line 61... | |||
59 | var b = Convert.ToString(maxNumber, 2); |
61 | var b = Convert.ToString(maxNumber, 2); |
|
Line 60... | Line 62... | |||
60 | |
62 | |
|
61 | return CreateByHostBitLength(b.Length); |
63 | return CreateByHostBitLength(b.Length); |
|
62 | } |
64 | } |
|
63 | } |
65 | } |
|
64 | } |
66 | } |