C#如何在同一行输入integer与char 格式要求为(5s)
C# 同一行读取int和char(适配(5s)格式)实现方案
原有代码问题
- 重复声明
number变量,同一作用域下不允许重复定义同名变量 - 多变量声明语法错误:C#不支持在同一行直接声明两种不同类型的变量并统一赋值
- 输入处理逻辑不符合需求:
Console.ReadLine()是读取整行内容,直接转为int的操作无法拆分出同一行内的int和char两类值
最终实现代码
// 先读取输入处理次数 int count = Convert.ToInt32(Console.ReadLine()); for(int i=0; i<count; i++) { // 读取整行输入,比如示例格式的"(5s)" string inputLine = Console.ReadLine().Trim(); // 移除输入首尾的括号 string validContent = inputLine.Trim('(', ')'); // 拆分数字段和字符段:前半段为数字,最后一位为目标char int inputNumber = int.Parse(validContent.Substring(0, validContent.Length - 1)); char inputChar = validContent[validContent.Length - 1]; // 此处可写后续使用inputNumber、inputChar的业务逻辑 }
补充说明
如果你的输入格式不是括号包裹的(5s),而是空格分隔的5 s格式,只需将括号清洗逻辑替换为空格拆分即可:
string[] parts = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries); int inputNumber = int.Parse(parts[0]); char inputChar = parts[1][0];
内容的提问来源于stack exchange,提问作者Debprosad
相关产品推荐
相关产品推荐

