请问关于c的具体应用场景有哪些?
- 内容介绍
- 相关推荐
本文共计382个文字,预计阅读时间需要2分钟。
我有一些代码接受DataTable作为参数,并计算DataTable中几个列的总和。我认为可以将其转换为lambda表达式,这样会更好,因为这个表达式将对我的总列执行过滤。以下是代码的一部分:
javapublic TrafficTotal() { // ...}
我有一些代码接受DataTable作为参数,并计算DataTable中几个列的总和.我认为能够传入一个lambda表达式可能会很好,这个表达式会对我总计的列执行过滤.这是代码的一部分:
public TrafficTotals CalculateTotals(DataTable table) { TrafficTotals total = new TrafficTotals(); total.TotalTraffic = table.AsEnumerable().Sum(p => p.Field<int>("Converted")); // More stuff
我可以直接在代码中手动将过滤器添加到表达式中:
var filteredTotal = table.AsEnumerable().Where(p => p.Field<string>("MyColumn") == "Hello").Sum(p => p.Field<int>("Converted"));
但相反,我想将“Where”部分作为lambda表达式传递,但我不断迷失在语法中以获得正确的参数.
我有几种方法可以解决这个问题,但实际上并没有涉及到lambda,但它似乎是处理这个问题的好方法.
有任何想法吗?
我有点困惑,因为你已经用lambda表达式指定了Where子句,但我怀疑你想要这个:public TrafficTotals CalculateTotals(DataTable table, Func<DataRow, bool> filter) { TrafficTotals total = new TrafficTotals(); total.TotalTraffic = table.AsEnumerable() .Where(filter) .Sum(p => p.Field<int>("Converted")); // More stuff }
然后你用它来调用它:
totals = CalculateTotals(table, row => row.Field<string>("MyColumn") == "Hello");
这就是你要追求的吗?
本文共计382个文字,预计阅读时间需要2分钟。
我有一些代码接受DataTable作为参数,并计算DataTable中几个列的总和。我认为可以将其转换为lambda表达式,这样会更好,因为这个表达式将对我的总列执行过滤。以下是代码的一部分:
javapublic TrafficTotal() { // ...}
我有一些代码接受DataTable作为参数,并计算DataTable中几个列的总和.我认为能够传入一个lambda表达式可能会很好,这个表达式会对我总计的列执行过滤.这是代码的一部分:
public TrafficTotals CalculateTotals(DataTable table) { TrafficTotals total = new TrafficTotals(); total.TotalTraffic = table.AsEnumerable().Sum(p => p.Field<int>("Converted")); // More stuff
我可以直接在代码中手动将过滤器添加到表达式中:
var filteredTotal = table.AsEnumerable().Where(p => p.Field<string>("MyColumn") == "Hello").Sum(p => p.Field<int>("Converted"));
但相反,我想将“Where”部分作为lambda表达式传递,但我不断迷失在语法中以获得正确的参数.
我有几种方法可以解决这个问题,但实际上并没有涉及到lambda,但它似乎是处理这个问题的好方法.
有任何想法吗?
我有点困惑,因为你已经用lambda表达式指定了Where子句,但我怀疑你想要这个:public TrafficTotals CalculateTotals(DataTable table, Func<DataRow, bool> filter) { TrafficTotals total = new TrafficTotals(); total.TotalTraffic = table.AsEnumerable() .Where(filter) .Sum(p => p.Field<int>("Converted")); // More stuff }
然后你用它来调用它:
totals = CalculateTotals(table, row => row.Field<string>("MyColumn") == "Hello");
这就是你要追求的吗?

