You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#控制台程序如何实现按下任意按键重复执行指定代码块

实现方案

你只需要用while(true)死循环把身份生成逻辑包裹起来即可,每次生成完信息后等待用户按键,按下任意键就会进入下一轮循环重新生成。另外你原有代码存在数组索引越界的隐患:你的名、姓数组都只有25个元素(索引范围是024),但你调用`numgen.Next(0,26)`会生成025的整数,取到25的时候会触发索引超出范围报错,这里也同步做了修正。

修改后的完整可运行代码如下:

using System;

namespace False_Identity_Generator
{
    class Program
    {
        static void Main(string[] args)
        {
            // Random实例和姓名数组放在循环外即可,不需要重复创建,节省资源
            Random numgen = new Random();
            string[] firstnames = { "Bob", "Jeff", "Cary", "Shawn", "Logchad", "Sam", "Ogga", "Tree", "Sup", "Hammy", "Bologna", "Tostito", "Beulah", "Huckleberry", "Bailey", "Catamaran", "X-34", "Chadd", "Ben", "Benny", "Elon", "Baby", "Don", "Shelly", "Joben"};
            string[] lastnames = { "Liverson", "Chadderson", "Wright", "Lee", "Gamer", "Booga", "Liberdend", "Fractor", "Faker", "Baker", "Fox", "Wulf", "Sanders", "Bezos", "Musk", "Boatmen", "Baldhead", "Smad", "Sock", "Mobtown", "Shuck", "Snek", "McDonalds", "Wendys", "Waaaaaaaake"};
            
            // 死循环重复执行生成逻辑
            while(true)
            {
                int first = numgen.Next(0, firstnames.Length); // 直接用数组长度做上限,避免手动数错元素个数
                int last = numgen.Next(0, lastnames.Length);
                Console.WriteLine("Your fake name is: " + firstnames[first] + " " + lastnames[last]);
                int age = numgen.Next(1, 136);
                Console.WriteLine(" And your fake age is: " + age + " years old");
                Console.WriteLine("按下任意键生成下一个身份...");
                Console.ReadKey(true); // 加true可以不显示按下的按键字符,界面更干净
                Console.Clear(); // 可选:清屏,每次新生成的内容都在顶部显示
            }
        }
    }
}

你可以根据自己的需求做调整:

  • 如果你不想清屏,可以删掉Console.Clear()这行,历史生成的身份都会保留在控制台里
  • 如果想要增加退出逻辑,比如按ESC键退出程序,可以接住Console.ReadKey的返回值判断,符合条件就用break跳出循环即可
  • 用数组的Length属性当Next的上限是更稳妥的写法,后续你增删姓名数组元素的时候不需要手动修改数字,避免再出现索引越界问题

内容的提问来源于stack exchange,提问作者CT Vaughan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:24:08