gpt4 book ai didi

c# - 将两个 Lambda/Linq 查询相加

转载 作者:行者123 更新时间:2023-12-02 04:41:44 26 4
gpt4 key购买 nike

我有以下代码获取一组结果,然后获取另一组结果 (resultsSetup),如果满足条件则完全相同。

// use Linq to query the downtime data
var results = from t in this.MachineEvent.Transactions.OfType<Logic.DowntimeScrapTransaction>()
where t.TransactionType == Logic.Enums.MachineEventTransactionType.DowntimeScrapTransaction
group t by t.Reason.Group into grps
let totalDowntime = grps.Sum(g => g.DowntimeDuration.TotalMinutes)
orderby totalDowntime descending
select new { Key = grps.Key, values = grps, TotalDownTime = grps.Sum(g => g.DowntimeDuration.TotalMinutes) };


if (this.MachineEvent.MachineState == Logic.Enums.MachineState.Production)
{
var resultsSetup = from t in this.MachineEvent.GetSetupMachineEvent().Transactions.OfType<Logic.DowntimeScrapTransaction>()
where t.TransactionType == Logic.Enums.MachineEventTransactionType.DowntimeScrapTransaction
group t by t.Reason.Group into grps
let totalDowntime = grps.Sum(g => g.DowntimeDuration.TotalMinutes)
orderby totalDowntime descending
select new { Key = grps.Key, values = grps, TotalDownTime = grps.Sum(g => g.DowntimeDuration.TotalMinutes) };

results.Concat(resultsSetup);
results.Union(resultsSetup);
}

我想做的是将这两个结果简单地结合在一起。如您所见,我已经尝试了 ConcatUnion 方法,但我都没有成功。

最佳答案

As you can see I've tried the Concat and Union method which I am having no success with either.

这是因为您忽略了它们的返回值。你应该做任何一个

results = results.Concat(resultsSetup);

如果您想将 resultsSetup 的所有项目附加到 results,或者

results = results.Union(resultsSetup);

如果您想获得联合(即删除所有重复项)。

关于c# - 将两个 Lambda/Linq 查询相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20702551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com