C# 文本框到地址的转换

C# 文本框到地址的转换,c#,winforms,C#,Winforms,我工作的环境中,我们做了很多远程故障排除。我正在开发一个C控制台Windows应用程序,它可以加快登录不同程序的过程 这是一个多选项卡应用程序,在第一个窗口中,有一个文本框,用户可以在其中输入站点编号 我想要帮助的是,我如何编写一个代码来读取3位或4位的站点编号并将其转换为IP地址 在应用程序的一部分中,我需要将其转换为URL中的IP地址。例如,假设用户希望连接到站点1234的服务器。他们在主页的文本框中输入1234,然后单击服务器选项卡上的连接。我需要将站点号植入一个类似于//10.12.34

我工作的环境中,我们做了很多远程故障排除。我正在开发一个C控制台Windows应用程序,它可以加快登录不同程序的过程

这是一个多选项卡应用程序,在第一个窗口中,有一个文本框,用户可以在其中输入站点编号

我想要帮助的是,我如何编写一个代码来读取3位或4位的站点编号并将其转换为IP地址


在应用程序的一部分中,我需要将其转换为URL中的IP地址。例如,假设用户希望连接到站点1234的服务器。他们在主页的文本框中输入1234,然后单击服务器选项卡上的连接。我需要将站点号植入一个类似于//10.12.34.1:80/的URL中

我回答这个问题只是为了向您展示简化的需求可以很容易地实现

如果您只需要决定3到4个字符的输入值,并硬编码目标IP地址的开始和结束,这应该可以做到:

string userinput; // 3 or 4 char user input from TextBox
string secondoctet = string.Empty;
string thirdoctet = string.Empty;

if (userinput.Length == 3)
{
    secondoctet = userinput.Substring(0, 1);
    thirdoctet = userinput.Substring(1, 2);
}

if (userinput.Length == 4)
{
    secondoctet = userinput.Substring(0, 2);
    thirdoctet = userinput.Substring(2, 2);
}

// using hardcoded IP format template inserting 2nd and 3rd octet into placeholders
string targetip = string.Format("10.{0}.{1}.1", secondoctet, thirdoctet);
请记住,此解决方案仅限于一个简单规则,即3字符输入将始终拆分为1-2,4字符输入将始终拆分为2-2


正如我在评论中已经提到的,毫无疑问,您将很快面临根据不同规则进行拆分的要求。

到目前为止您尝试了什么,遇到了什么问题?我不确定从何开始。我对C还是个新手,我一直在摸索。即使有一种方法,我可以简单地在文本框中获取ID,然后使用Sendkeys将其作为一个除数发送,那也太完美了。因此,如果他们输入一个3位数的站点ID 123,它将发送1.23,如果他们输入一个4位数的站点ID,它将像12.34一样分开。我可以把第一个和第四个八位组硬编码好的。。。你有什么问题?这不是一个想要什么的网站。描述你在到达那里时遇到的问题,你会得到帮助。@user3459000我想你已经意识到了这个问题,即如何可靠地决定如何分割用户输入,即你想如何决定1234是否意味着。1.234。或12.34。或.123.4。?这些IP地址的动态性如何?你能把它们放在一个下拉列表中吗?也许有数据库支持?我的问题是,我不知道如何将文本框中的3位或4位数字转换为IP地址的第二个和第三个八位字节。我只是想得到编码方面的帮助,或者在如何实现这一目标方面指出正确的方向。