首页 > 解决方案 > 为什么在我的 IPAddress 字符串中包含前导零时,我从 C# System.Net.IPAddress.Parse() 方法得到不同的结果?

问题描述

我在 Godot 3 应用程序中使用一些简单的服务器客户端套接字代码。出于某种原因,当我使用此代码时:

IPAddress ipa = System.Net.IPAddress.Parse("131.236.053.199");

Console.WriteLine(ipa.ToString());并通过我将结果打印到控制台:

131.236.43.199

如果我从第 3 个字节中删除前导零并执行此行:

IPAddress ipa = System.Net.IPAddress.Parse("131.236.53.199");

Console.WriteLine(ipa.ToString());并通过我得到所需的地址打印结果:

并将结果打印到我得到的控制台:

131.236.53.199

前导零有什么不同是有原因的吗?这是 Microsoft 代码中的错误还是我遗漏了其他内容?

我已阅读https://msdn.microsoft.com/en-us/library/system.net.ipaddress.parse(v=vs.110).aspx上的文档,但不明白为什么会发生这种行为。

谢谢。

标签: c#.netsockets

解决方案


推荐阅读