gpt4 book ai didi

c# - 解释 C# 聚合行为

转载 作者:行者123 更新时间:2023-12-02 00:36:10 25 4
gpt4 key购买 nike

我正在尝试学习 C#,并使用 Aggregate。我可以在Javascript中使用reduce,没有问题,但由于某种原因我无法让我的代码运行。

我的最终目标是获取一个字符列表(都是数字),将它们转换为数字,聚合它们,然后返回一个值。但现在,我只想让 Aggregate 正常工作。

我在进行任何聚合之前设置:int[] test = {1,2,3,4,5};

当我有这个代码时:

int result = test.Aggregate ((current, total) => {
current += 1;
current + total;
});

有人告诉我:“只有赋值、调用、递增、递减和新对象表达式可以用作语句”不过我见过多行 lambda 函数的示例。

我可以删除 current += 1; 行和花括号,它会起作用,但我的目标是在每次聚合之前运行几件事。

如何让 lambda 表达式执行多行代码?

最佳答案

当前 + 总计 在该上下文中不是有效的 C#。它仅在不带花括号的单行 lambda 的简写形式中有效。否则,您需要显式的 return 语句。

您需要将其改写为返回当前+总计;

当您在不带花括号的情况下使用它时,返回是隐式的。

关于c# - 解释 C# 聚合行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30540232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com