C#检测字符串数组重复文本 实现5个姓名输入唯一性校验及重输逻辑
实现代码
int totalCount = 5; string[,] input = new string[totalCount, 2]; for (int i = 0; i < totalCount; i++) { // 姓名输入校验逻辑 while (true) { Console.Write($"Name {i + 1} : "); string inputName = Console.ReadLine().Trim().ToLower(); // 检查和之前已录入的姓名是否重复 bool duplicate = false; for (int j = 0; j < i; j++) { if (input[j, 0] == inputName) { duplicate = true; break; } } if (duplicate) { Console.WriteLine("The name is already added, please add a different name"); } else { input[i, 0] = inputName; break; } } // 校验通过后再录入地址 Console.Write($"Address {i + 1} : "); input[i, 1] = Console.ReadLine(); }
逻辑说明
- 每次录入姓名后,会和前面已经成功录入的所有姓名做比对,保留你原有的大小写不敏感校验规则
- 检测到重复就会循环要求重新输入当前序号的姓名,直到输入不重复内容才会进入地址录入步骤
- 完全保留原代码用二维数组存储数据的逻辑,同时优化了原代码中变量a复用的问题,避免出现意料之外的逻辑错误
如果需要中文提示,直接把Console.WriteLine里的英文内容替换为「该姓名已存在,请输入不同的姓名」即可。
内容的提问来源于stack exchange,提问作者Cologne
相关产品推荐
相关产品推荐

