You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#循环计算年龄总和后总数值无法显示问题求助

问题分析与解决方案

嘿,我一眼就瞅见问题所在了!你代码里没法显示年龄总和的原因非常直接——最后一行的Console.WriteLine调用方式错啦。

问题根源

你现在写的是:

Console.WriteLine("\ntotal of ages in list: ", tot);

Console.WriteLine的这个重载要求第一个参数是带占位符(比如{0})的格式化字符串,这样第二个参数才会被替换到占位符的位置。要是没加占位符,第二个参数直接就被忽略了,所以你只会看到文字total of ages in list: ,看不到tot里的311。

修正方法

把最后一行改成下面两种方式里的任意一种就行:

方式1:用格式化占位符(更推荐)

Console.WriteLine("\ntotal of ages in list: {0}", tot);

这里的{0}会被tot的数值替换,这样就能正确输出总和了。

方式2:字符串拼接

Console.WriteLine("\ntotal of ages in list: " + tot);

这种是把字符串和数值直接拼起来,也能生效,但如果以后要输出多个变量,占位符的写法会更清晰好维护。

额外优化小技巧

计算年龄总和其实还能简化,用LINQ一行搞定,不用手动写foreach循环:

int tot = people.Sum(p => p.Age);

不过要记得在文件顶部加上LINQ的命名空间:

using System.Linq;

修正后的代码片段

最后那部分代码调整后应该是这样:

int tot = 0;
foreach(Person per in people)
{
    tot += per.Age;
}
// 用格式化占位符输出总和
Console.WriteLine("\ntotal of ages in list: {0}", tot);

// 或者换成LINQ的简化写法
// int tot = people.Sum(p => p.Age);
// Console.WriteLine("\ntotal of ages in list: {0}", tot);

这样运行起来,就能正常显示你调试时确认的311这个数值啦!

内容的提问来源于stack exchange,提问作者Bran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:55:40