如何在C#控制台应用程序中实现登录尝试次数控制
C#控制台登录次数限制功能实现方案
实现思路
- 新增尝试次数计数器,设定最大错误尝试阈值为3次
- 每次用户输入凭证后优先校验正确性,校验通过直接输出欢迎信息并终止流程
- 校验失败时计数器累加,剩余尝试次数>0时输出
Try Again引导用户重新输入 - 累计错误次数达到3次时直接输出
System Blocked终止程序
完整可运行代码
using System; namespace LoginAuthDemo { class Program { static void Main(string[] args) { // 配置正确的凭证与尝试阈值 const string ValidUsername = "user"; const string ValidPassword = "word"; const int MaxAttempts = 3; int failedAttempts = 0; bool isLoginSuccess = false; while (failedAttempts < MaxAttempts) { Console.Write("Username:"); string inputUname = Console.ReadLine(); Console.Write("Password:"); string inputPass = Console.ReadLine(); // 校验凭证合法性 if (inputUname == ValidUsername && inputPass == ValidPassword) { isLoginSuccess = true; break; } failedAttempts++; // 还有剩余尝试次数时提示重试 if (failedAttempts < MaxAttempts) { Console.WriteLine("Try Again"); } } // 输出最终结果 if (isLoginSuccess) { Console.WriteLine("Welcome"); } else { Console.WriteLine("System Blocked"); } Console.ReadKey(); } } }
代码说明
- 用常量存储合法凭证和最大尝试次数,后续业务调整时可直接修改常量值,无需改动逻辑代码
- 修正了原有参考代码中
Console.Readline()的拼写错误,正确方法名为Console.ReadLine() - 凭证输入变量和合法凭证变量拆分,避免变量复用导致的逻辑混乱
- 所有输出内容完全匹配需求要求,无额外冗余输出
内容的提问来源于stack exchange,提问作者MULTI FANDOM
相关产品推荐
相关产品推荐

