我有一个清单:
List<Option> OptionList = getOptions();
选项具有各种属性,但重要的是
decimal Price
string EqtCode
然后我有第二个列表:
List<string> EqtCodes
我要做的是从 OptionList 中获取选项,其中它们的 EqtCode 与EqtCodes 列表中的所有选项匹配。但是,为了使其更复杂,我实际上需要在 EqtCodes 中所有项目的“集合”中抓取它们列表,选择任何重复项的最低价格,但在 EqtCodes 列表中所有内容的集合中获取它们, 以便.. 尝试进一步解释
说eqtCodes中有以下内容
['A','B','C']
并且 optionList 有
{['A',99.99],['A',89.99],['B',20.00],['C',35.00'],['C',30.00]}
我需要的只是
['A',89.99],['B',20.00],['C',30.00']
我不希望它抓住所有的 A、B 和 C,除非它把它们分成 1 A、1 B 和 1 C
选择了目前我有
var whatIwant = OptionList.Where(o=>o.EqtCode.In(EqtCodes));
可悲的是,这会抓住一切,更不用说忽略价格了。同样,如果选项列表是
{['A',99.99],['A',89.99],['B',20.00],['C',35.00'],['C',30.00],['B',22.00],['F',33.33], ['B',19.99]}
它需要抓住
{['A',99.99],['A',89.99],['B',20.00],['C',35.00'],['C',30.00],['B',19.99]}
所以它基本上每次都会抓取 EqtCodes 列表中所有项目的“全套”
我确信 LINQ 可以做到这一点,但我不能:)
一如既往地感谢任何帮助
谢谢