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

C#登录程序改造需求:实现指令触发重复运行替代重启

实现无需重启的C#登录程序重运行功能

要实现输入指定指令(TER/TOR)重新触发登录流程,核心是把登录逻辑封装成可重复调用的方法,并用循环控制执行流程,替代原来的重启程序逻辑。以下是修改后的完整代码及关键改动说明:

修改后的完整代码

using System;

namespace GOVERMENTPROGRAM
{
    internal class Program
    {
        static void Main(string[] args)
        {
            bool shouldRestart;
            do
            {
                shouldRestart = RunLoginFlow();
            } while (shouldRestart);

            Console.WriteLine("程序退出");
            Console.ReadKey();
        }

        // 封装登录流程为独立方法,返回是否需要重新运行
        static bool RunLoginFlow()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WindowWidth = 70;
            Console.WriteLine("WELCOME TO THE A.A.A.R GOVERMENT (Sniper) PROGRAM TO ACCESS INFORMATION\nPLEASE ENTER YOUR ACCOUNT INFORMATION");
            Console.Write("TAG:");
            Console.ForegroundColor = ConsoleColor.Blue;
            string TAG = Console.ReadLine();
            Console.ForegroundColor = ConsoleColor.Green;

            if (TAG == "A.A.A_ter5")
            {
                Console.WriteLine("Welcome Sniper #5");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("MISSION OF THE DAY:");
                Console.WriteLine("A new cocaine drug dealer is trending in the city");
                Console.WriteLine("Your job is to assassinate his team and call our organization");
                
                // 登录成功后询问是否重新登录
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\n输入 TER 重新启动登录流程,输入其他内容退出");
                string input = Console.ReadLine();
                return input.Equals("TER", StringComparison.OrdinalIgnoreCase);
            }
            else
            {
                Console.WriteLine("That Does Not exist");
                Console.Write("Enter Organization password to reveal TAGS\nPASSWORD:");
            }

            Console.ForegroundColor = ConsoleColor.Blue;
            string password = Console.ReadLine();
            Console.ForegroundColor = ConsoleColor.Green;

            if (password == "231234TER")
            {
                Console.Write("TEAM(IN XXX):");
                Console.ForegroundColor = ConsoleColor.Blue;
                string TEAM = Console.ReadLine();
                Console.ForegroundColor = ConsoleColor.Green;

                if (TEAM == "SNIPER")
                {
                    Console.WriteLine("A.A.A_ter1\nA.A.A_ter2");
                    Console.WriteLine("A.A.A_ter3\nA.A.A_ter4");
                    Console.WriteLine("A.A.A_ter5");
                    Console.WriteLine("输入 TER 重新启动登录流程,输入其他内容退出");
                    string input = Console.ReadLine();
                    return input.Equals("TER", StringComparison.OrdinalIgnoreCase);
                }
                else
                {
                    Console.WriteLine("Wrong, software login is built for specific team and you are not on that team");
                    Console.WriteLine("输入 TOR 重新启动登录流程,输入其他内容退出");
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    string input = Console.ReadLine();
                    return input.Equals("TOR", StringComparison.OrdinalIgnoreCase);
                }
            }
            else
            {
                Console.WriteLine("WRONG");
                Console.WriteLine("输入 TER 重新启动登录流程,输入其他内容退出");
                Console.ForegroundColor = ConsoleColor.Yellow;
                string input = Console.ReadLine();
                return input.Equals("TER", StringComparison.OrdinalIgnoreCase);
            }
        }
    }
}

关键改动说明

  • 封装登录逻辑:把原来Main中的登录代码抽成RunLoginFlow()方法,返回布尔值表示是否需要重新执行登录流程,让代码结构更清晰,便于重复调用。
  • 循环控制流程:Main方法中用do-while循环,根据RunLoginFlow()的返回值决定是否再次执行登录流程,替代重启程序的逻辑。
  • 指令处理逻辑:在每个分支(登录成功、密码错误、团队错误等)添加指令输入判断,当用户输入指定指令(TER/TOR,忽略大小写)时返回true触发重运行,否则返回false退出程序。
  • 修复原代码问题:移除了原代码中空的while循环(无实际作用),统一了输入判断的逻辑,避免流程混乱。

内容的提问来源于stack exchange,提问作者ammar ahmed2

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:59:55