如何在C#控制台程序中根据条件将结果改为字符串?
解决方案
要实现当条件countInput2 != iCount成立时返回字符串“Error!”,核心是调整result的类型——原代码中result是int类型,无法直接存储字符串值。具体修改步骤如下:
- 将
result的类型从int改为string,初始值可设为空字符串; - 在条件分支中,直接赋值对应的字符串或转换后的数值字符串;
- 最后正常输出
result即可。
修改后的完整代码:
using System; using System.Linq; using System.Text.RegularExpressions; public class Program { public static void Main() { string input = Console.ReadLine(); var iCount = int.Parse(input); int vMaxQty = 4; //Sample input2 --> 1 5 4 1 1 string input2 = Console.ReadLine(); int val = input2.Split(' ').Sum(x=> int.Parse(x)); int countInput2 = Regex.Matches(input2, "\\w").Count; string result = string.Empty; if (countInput2 != iCount) { result = "Error!"; } else { result = (val / vMaxQty).ToString(); } Console.WriteLine(result); } }
补充说明
如果不想改变result的类型,也可以直接在输出时判断条件,分开输出:
// 替换原有的result定义和输出部分 if (countInput2 != iCount) { Console.WriteLine("Error!"); } else { int result = val / vMaxQty; Console.WriteLine(result); }
这种方式不需要调整变量类型,逻辑更直接,也能达到需求。
内容的提问来源于stack exchange,提问作者Haminteu
相关产品推荐
相关产品推荐

