Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
315 views
in Technique[技术] by (71.8m points)

c# - How to use self defined aggregate function with LINQ? (without using extension methods)

In the question Calculate the sum of numbers from 1 to n using LINQ, the function sum was preexisting, what about when we want to define our own function ? for example SquareSum function, where the the square of numbers are to be added, or some other non preexisting function?

Edit : the use of extension method was commented, I was actually looking for a way to do it without extension methods.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can write it like this

IEnumerable<int> range = Enumerable.Range(1, n);
var sum = range.Aggregate(0, (x, y) => x + y);

Sum of squares:

IEnumerable<int> range = Enumerable.Range(1, n);
var sum = range.Aggregate(0, (x, y) => x + y * y);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...