最好的方法“更少的时间”使用实体框架插入批量插入,不包括两个相干表的重复记录?-英雄云拓展知识分享
376
2024-01-21
使用LINQ,我们可以履行 左折 在列表中经过 Aggregate
:
var numbers = new[] { 1, 2, 3, 4 };var value = numbers.Aggregate((a, b) => a - b); // ((1 - 2) - 3) - 4 == ⑻
使用LINQ履行正确的折叠有类似的方式吗?
var value = numbers.Aggregate(???); // 1 - (2 - (3 - 4)) == ⑵
右折叠本质上是从右到左折叠的。如果我们 Reverse
首先枚举,然后经过 Aggregate
:
var value = numbers.Reverse().Aggregate((a, b) => a - b);
作为扩大方法:
public static TSource RightFold<TSource>(this IEnumerable<TSource> source,Func<TSource, TSource, TSource> func)
{
return source.Reverse().Aggregate(func);
}
用法:
var value = numbers.RightFold((a, b) => a - b); // ((4 - 3) - 2) - 1 == ⑵// 1 - (2 - (3 - 4)) == ((4 - 3) - 2) - 1
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~