很抱歉问到什么应该是一件简单的事情,但是我一直在尝试使用IPAddress.NetworkToHostOrder
和IPAddress.HostToNetworkOrder
无济于事。我在Windows钻机上,小端。这是让我感到困惑的微小代码:
using System;
using System.Net;
public class Program
{
public static void Main()
{
int addr = 1;
Console.WriteLine($"{IPAddress.NetworkToHostOrder(addr)}");
Console.WriteLine($"{IPAddress.HostToNetworkOrder(addr)}");
}
}
此输出为:
16777216
16777216
其中之一的输出应该是1
,对吧?我已经放弃了,写了一个替换来处理字节排序问题,但是这让我发疯了,我一直无法使用IPaddress
。
这些函数假定您已按给定的字节顺序提供了输入值,并且始终希望将字节顺序交换为相反的字节顺序。他们无法知道您提供的值的字节顺序。因此,他们俩总是交换给他们的东西的顺序。