c# - Creating an n-nary expression -


i have sequence of n system.linq.expressions.expression want convert n-nary expression connects expressions 1 using operator n-1 times.

so collection of 4 expressions {e1, e2, e3, e4} , operator and get: e1 , e2 , e3 , e4.

since operator same, can create expression chaining n-1 binaryexpressions

expression result = (((e1 , e2) , e3) , e4); 

but i'm thinking there may easier way of doing this. like

expression.nnary(expressiontype operator, ienumerable<expression> expressions)  

is there implemented or have binaryexpressions ?

what you're describing reduce function, known aggregate in linq. reduces sequence of values single value, this:

int[] numbers = { 1, 2, 3, 4 }; int sum = numbers.aggregate((acc, current) => acc + current, 0); // 10 

how you're combining acc , current you.


Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

javascript - Get parameter of GET request -

javascript - Twitter Bootstrap - how to add some more margin between tooltip popup and element -