求助求助关于 c# .net5 Console.ReadLine 的一个问题
代码大致如下:
while (run) {
Console.Write(question);
string value = Console.ReadLine();
}
然后刚才偶然发现,在 win10 下运行,ReadLine 这里可以正常使用左右方向键,修改前面某个字符,也可以使用上下方向键,回到上一个输入。
但是,在 linux 下居然不行!!! 在 Console.ReadLine 的时候方向键没有任何反应
求解!
1
codehz 2021-01-10 22:22:06 +08:00 via Android 1
Windows 那个是私有扩展,linux 的才是正确的行为(雾)
正常来说应该需要自己实现一个, 或者用第三方库 https://github.com/tonerdo/readline |
2
ysc3839 2021-01-10 22:27:11 +08:00 1
这个叫行编辑 (line editing) 功能。Windows 认为大多数命令行程序都需要行编辑,所以内置了一个功能比较简单的行编辑,且默认启用,不需要的或者需要自己实现行编辑的程序可以关掉。
而 Linux 等 Unix 系统没有内置这个功能,需要应用程序自己实现才有。 |