gpt4 book ai didi

c# - 将重复的选择合并为一个结果

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:17 25 4
gpt4 key购买 nike

除了我的previous question ,我仍然没有具体解决我的问题。

我有两个这样的类:

public class Product
{
public Product()
{
Options = new List<Option>();
}
public string Name { get; set; }
public int ID { get; set; }
public List<Option> Options { get; set; }
}

public class Option
{
public int SubID { get; set; }
public string SubName { get; set; }
public int ListBoxID { get; set; }
public decimal Price { get; set; }
public bool IsSelected { get; set; }
}

在这样的列表中使用:

List<Product> Products { get; set; }

enter image description here

当用户选择左侧的产品(始终具有相同的属性)时,它是内部的 List<Optie>将加载 4 个不同的 ListBox's , 按 ListBoxID 过滤.

现在,如果用户在 2 个产品中选择相同的选项,我如何使用 linq 将它们转换为一个结果?

例如加载了 4 个相同的产品,用户为 2 个产品选择了相同的选项,那么我的结果将是:

2x Product
2x lookbrood
2x ollema
2x fitness broodje
2x testtest

如果其他 2 个产品有不同的选择,这些可能是它们的结果:

2x Product
2x ciabatta broodje
2x ollema
2x slagroom
2x smos

我总是需要加载到 Products 中的数量:例如:加载了 6 个产品,那么我的组合可以是:

3x Product
3x ciabatta broodje
3x ollema
3x slagroom
3x smos

3x Product
3x Some other option 1
3x Some other option 2
3x Some other option 3
3x Some other option 4

2x Product
2x Some option 1
2x Some option 2
2x Some option 3
2x Some option 4

2x Product
2x Some other option 1
2x Some other option 2
2x Some other option 3
2x Some other option 4

2x Product
2x Some other option 1
2x Some other option 2
2x Some other option 3
2x Some other option 4

这是我能给出的最好的解释,希望图片对您有所帮助。

最佳答案

你在寻找 GroupBy 吗?这会将具有相同 ID 的 Optie 分组,并为您提供它们的数量。

Product.Opties
.GroupBy(x => new {
x.ListBoxID, x.Naam
})
.Select(x =>
new {
ListBoxID = x.Key.ListBoxID,
Naam = x.Key.Naam,
Count = x.Count()
})

More info on GroupBy

关于c# - 将重复的选择合并为一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26589275/

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