gpt4 book ai didi

c# - 是否有等同于 C 的逗号运算符的惯用 C#?

转载 作者:IT王子 更新时间:2023-10-29 04:18:49 25 4
gpt4 key购买 nike

我在 C# 中使用了一些函数式的东西,但一直卡在 List.Add 不返回更新列表的事实中。

一般来说,我想在一个对象上调用一个函数,然后返回更新后的对象。

例如,如果 C# 有一个逗号运算符,那就太好了:

((accum, data) => accum.Add(data), accum)

我可以像这样编写自己的“逗号运算符”:

static T comma(Action a, Func<T> result) {
a();
return result();
}

看起来它可以工作,但调用站点会很难看。我的第一个例子是这样的:

((accum, data) => comma(accum.Add(data), ()=>accum))

例子够多了!在没有其他开发人员稍后出现并对代码气味皱 Nose 的情况下,最干净的方法是什么?

最佳答案

我知道这是 Fluent .

List.Add 使用扩展方法的 Fluent 示例

static List<T> MyAdd<T>(this List<T> list, T element)
{
list.Add(element);
return list;
}

关于c# - 是否有等同于 C 的逗号运算符的惯用 C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7114443/

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