24 int num2 = _address.Length & -4;
26 for (i = 0; i < num2; i += 4)
30 if (((uint)
_address.Length & 3u) != 0)
50 public override bool Equals([NotNullWhen(
true)]
object? comparand)
56 if (
_address.Length != physicalAddress._address.Length)
64 for (
int i = 0; i < physicalAddress._address.Length; i++)
66 if (
_address[i] != physicalAddress._address[i])
90 return Parse(address.AsSpan());
118 if (address.Contains(
'-'))
120 if ((address.
Length + 1) % 3 != 0)
125 array =
new byte[(address.Length + 1) / 3];
128 else if (address.Contains(
':'))
135 if (value2 != 2 && value2 != 4)
141 else if (address.Contains(
'.'))
156 if (address.
Length % 2 > 0)
161 array =
new byte[address.Length / 2];
165 for (
int i = 0; i < address.
Length; i++)
167 int num3 = address[i];
171 if (c == num3 && num == value2)
185 array[num2] = (byte)(num3 << 4);
189 array[num2++] |= (byte)num3;
206 for (
int i = 0; i < address.
Length; i++)
208 if (address[i] == delimiter)
214 else if ((i - (num - 1)) % num2 != 0)
221 if (num * num2 != 12)
static int ReadInt32LittleEndian(ReadOnlySpan< byte > source)
static string ToHexString(byte[] inArray)
static int FromChar(int c)
static string Format(string resourceFormat, object p1)
static string net_bad_mac_address