C#中如何将空格分隔的数字字符串转整数并求和?
解决空格分隔数字字符串求和的问题
你的代码报错是因为int.Parse()无法解析1+3+4+1+1这种包含运算符的字符串,它只能处理纯数字格式的字符串。下面是两种可行的解决方式:
方法1:使用LINQ快速求和
通过拆分字符串、转换为整数后直接求和,代码简洁高效:
using System; using System.Linq; public class Program { public static void Main() { string input2 = "1 3 4 1 1"; int sum = input2.Split(' ', StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse) .Sum(); Console.WriteLine(sum); } }
Split(' ', StringSplitOptions.RemoveEmptyEntries):按空格拆分字符串,同时过滤掉可能存在的空字符串(比如连续空格的情况)Select(int.Parse):将每个拆分后的字符串转换为整数Sum():对所有整数求和
方法2:使用循环手动求和(带错误处理)
如果需要处理可能的非数字输入,或者更直观的逻辑,用循环遍历并累加:
using System; public class Program { public static void Main() { string input2 = "1 3 4 1 1"; string[] numParts = input2.Split(' ', StringSplitOptions.RemoveEmptyEntries); int sum = 0; foreach (string part in numParts) { // 使用int.TryParse避免非数字输入导致程序崩溃 if (int.TryParse(part, out int number)) { sum += number; } else { // 可选:处理非数字的情况,比如打印错误提示 Console.WriteLine($"无法解析:{part}"); } } Console.WriteLine(sum); } }
内容的提问来源于stack exchange,提问作者Haminteu
相关产品推荐
相关产品推荐

