gpt4 book ai didi

c# - 这个 LINQ 可以更高效吗?

转载 作者:行者123 更新时间:2023-11-30 13:36:01 25 4
gpt4 key购买 nike

我有一个相当复杂的 linq 分组,有些重复让我很烦,但我无法减少它。有什么方法可以避免两次获取 ID = "XYZ"的项目列表?

var example = = new GdsObservableCollection<GroupedQueryResults>(
items.Where(a => a.SubCategory3 != "{template}")
.GroupBy(item => item.SubCategory1)
.Select(g => new GroupedQueryResults
{
SubCategory = g.Key,
SectionHeader = (g.Count(x => x.Id == "XYZ") > 0) ?
"Category :" + g.Where(x => x.Id == "XYZ")
.First().NewValue :
"Item - " + itemNumber

...

最佳答案

重复搜索 x.Id == "XYZ"可以通过使用 Where 来避免+ Select + FirstOrDefault链与 C# 空合并运算符相结合:

SectionHeader = g
.Where(x => x.Id == "XYZ")
.Select(x => "Category :" + x.NewValue)
.FirstOrDefault() ?? "Item - " + itemNumber

关于c# - 这个 LINQ 可以更高效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41858689/

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