Csharp/C#教程:在Linq中传递参数分享


在Linq中传递参数

我在方法中有以下代码:

someData = table.AsEnumerable() .Where(row => row.someRow.Equals("Something")) .Sum(row => row.AnotherRow); 

在最后一行,我想从其他地方传入一个参数,它将取代.AnotherRow

换句话说,类似于:

 .Sum(row => row. + myParameter); 

有任何想法吗? 我在尝试上述操作时遇到错误。 非常感谢任何帮助。

你无法传递代表.AnotherRow东西,但你可以传递一个从你的对象中选择所需属性的仿函数。

假设tableIEnumerable 。 然后你可以这样做:

 int SumSelected(Func attrSelector) { return table.AsEnumerable() .Where(row => row.someRow.Equals("Something")) .Sum(row => attrSelector(AnotherRow)); } 

现在,您可以使用“selector”调用此方法,该“selector”指定要添加的属性,如下所示:

 var totalCustomers = SumSelected(obj => obj.CustomerCount); var totalStores = SumSelected(obj => obj.StoreCount); 

我认为:

 someData = table.AsEnumerable() .Where(row => row.someRow.Equals("Something")) g.Sum(row => Calculate(row => row.AnotherRow, row1 =>row1.AnotherRow)); 

方法计算:

上述就是C#学习教程:在Linq中传递参数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

  private double Calculate(double d1, double d2) { return d1 + d2; } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1012680.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐