我正在尝试在控制台上写,让我们说“输入您的用户名:”我知道的是使用Console.WriteLine("Enter your...");
但是我希望这个提示信息显示为“像外星人或星际迷航计算机一样输入”。 非常感谢您对最佳实践的专家答案。感谢
答案 0 :(得分:9)
public static void WriteSlow(string txt) {
foreach (char ch in txt) {
Console.Write(ch);
System.Threading.Thread.Sleep(50);
}
}
答案 1 :(得分:5)
我认为使用Random to sleep线程可以获得良好的触感。
private static void RetroConsoleWriteLine()
{
const string message = "Enter your user name...";
var r = new Random();
foreach (var c in message)
{
Console.Write(c);
System.Threading.Thread.Sleep(r.Next(50,300));
}
Console.ReadLine();
}
或者,如果只是因为它的地狱而且脱颖而出
private static void RetroConsoleWriteLine()
{
const string message = "Enter your user name...";
var r = new Random();
Action<char> action = c =>
{
Console.Write(c);
System.Threading.Thread.Sleep(r.Next(50, 300));
};
message.ToList().ForEach(action);
Console.ReadLine();
}
答案 2 :(得分:1)
foreach (var character in "Enter your...")
{
Console.Write(item);
System.Threading.Thread.Sleep(300);
}
答案 3 :(得分:1)
只需在System.Threading命名空间中使用Thread.Sleep即可在每个字符之间添加等待。
String text = "Enter your username";
foreach (char c in text)
{
Console.Write(c);
System.Threading.Thread.Sleep(100);
}
答案 4 :(得分:1)
您可以在文字上创建一个循环,在字母之间休息一段时间,如:
string text = "Enter your User Name:";
for(int i = 0; i < text.Length; i++)
{
Console.Write(text[i]);
System.Threading.Thread.Sleep(50);
}
答案 5 :(得分:1)
我唯一的补充是一点点随机性(从汉斯的回答开始):
public static void WriteSlow(string txt)
{
Random r = new Random();
foreach (char ch in txt)
{
Console.Write(ch);
System.Threading.Thread.Sleep(r.Next(10,100));
}
}