Я пытаюсь преобразовать IP-адрес в течение длительного значения:C#, BitConverter.ToUInt32, некорректное значение
byte[] Ip = new byte[4] { 192, 168, 1, 0 };
UInt32 Ret1 = (((UInt32)Ip[0]) << 24) |
(((UInt32)Ip[1]) << 16) |
(((UInt32)Ip[2]) << 8) |
(((UInt32)Ip[3]));
UInt32 Ret2 = BitConverter.ToUInt32(Ip, 0);
RET1 возвращает 3232235776
(правильное значение)
RET2 возвращает 108736
Почему это различие?
'Ret1 возвращает 3232235776 (правильное значение)'? в соответствии с которым утверждение? Как насчет использования дополнительных API-интерфейсов 'new IPAddress (новый байт [] {192, 168, 1, 0})' –