Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除控制台写入的字符。写入方法_C#_Console Application - Fatal编程技术网

C# 删除控制台写入的字符。写入方法

C# 删除控制台写入的字符。写入方法,c#,console-application,C#,Console Application,我想找到所有的地址,并写在行中,用户可以删除,直到正确的地址或修改行 static void f_WriteIpAddresses() { IPHostEntry host; string localIP = "?"; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { Console.Write(ip.ToStri

我想找到所有的地址,并写在行中,用户可以删除,直到正确的地址或修改行

static void f_WriteIpAddresses()
{
    IPHostEntry host;
    string localIP = "?";
    host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (IPAddress ip in host.AddressList)
    {
        Console.Write(ip.ToString());
        Console.Write(" - ");
    }
}

static void Main(string[] args)
{
    Console.WriteLine("Your IP Address:")
    WriteIpAddresses();
    Console.Write("[You can delete/modify address]");
    string ip = Console.ReadLine();
}

看看这篇文章,它解释了如何清理控制台的各个部分。通过这种方式,还可以将控制台光标设置在所需的位置,以便用户可以覆盖控制台中的某些部分。看


也可能非常方便,非常类似的问题。

您可以做一些事情,例如在最后一个控制台的末尾放置一个\r。写入以使光标位于行的开头

static void f_WriteIpAddresses()
{
    IPHostEntry host;
    string localIP = "?";
    host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (IPAddress ip in host.AddressList)
    {
        Console.Write(ip.ToString());
        Console.Write(" - ");
    }
}

static void Main(string[] args)
{
    Console.WriteLine("Your IP Address:")
    WriteIpAddresses();
    Console.Write("[You can delete/modify address]");
    string ip = Console.ReadLine();
}
然后读取输入并将新输入与原始输出相结合。由于您的读线仅读取新数据,因此必须在原始数据中添加(覆盖)此新数据

但是,这仅在打印线长度小于控制台宽度时有效

c:\>address.exe
Your IP Address:
192.168.1.13 - 10.10.2.15 [You can delete/modify address]

上面应该给出一个新的ip地址,但有一些限制,例如,仅适用于一行等。

此方法对于我在控制台输出中称为临时消息的内容非常有效,也适用于命令行脚本。只需执行一个控制台。写入+Msg+\r(或VBS的vbcr),然后您的下一个控制台。writeline将覆盖您的上一条临时消息。