我有一个 IList
集合,我可以在其中看到重复的 List
集。我怎样才能选择一个唯一的列表?
IList
参数,
IList<OrderItemModifier> Modifiers;
public class OrderItemModifier
{
public int Id { get; set; }
public int MenuAnswerId { get; set; }
public int DatabaseId { get; set; }
public int Plu { get; set; }
public decimal Price { get; set; }
public string SpecialInstructions { get; set; }
public string ModifierDescription { get; set; }
public int Quantity { get; set; }
}
现在有一个场景,Modifiers
有两个条目(如下所示),它们都是相同的,我想从中选择唯一的。
示例,修饰符
有两个条目,其中 [0] 和 [1] 完全相同,我只想选择唯一的一个(此处为 [0])。
[0] {OrderItemModifier} - Same values
[1] {OrderItemModifier} - Same values
我尝试过关注,但没有成功。
1.
var uniqueModifiersList = newItem.Modifiers.Distinct().ToList();
2.
HashSet<OrderItemModifier> uniqueModifiersList = new HashSet<OrderItemModifier>();
foreach (OrderItemModifier item in newItem.Modifiers)
{
uniqueModifiersList.Add(item);
}
3.
HashSet<OrderItemModifier> uniqueModifiersList = new HashSet<OrderItemModifier>(newItem.Modifiers);
有什么想法吗?
最佳答案
var filteredList = Modifiers
.GroupBy(modifier => modifier.Id)
.Select(chunk => chunk.First());
关于c# - 如何从列表集合中选择唯一列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719368/