我有一个对象(产品),其属性类型为'array',
例如product.tags = {"tag1","tag2","tag9"}
我有一个输入标签数组来过滤.
......但这不太合适:
List<string> filterTags = new List<string>() { "tag1", "tag3" };
var matches = from p in products
where p.Tags.Contains(filterTags)
select p;
Run Code Online (Sandbox Code Playgroud)
有什么建议?谢谢.
我的OM有一个"产品"对象.
每个产品都有一个'制造商ID'(属性,整数).
当我有一个要显示的产品列表时,前三个显示为"特色产品".
该列表已按特定排序顺序排序,将"特色"产品放在列表中的第一位.
但是,我现在需要确保列表中的特色产品来自不同的制造商.我想有一个方法来调用这个重新排序.尝试利用LINQ来查询输入'产品'和'结果'
public List<Product> SetFeatures(List<Product> products, int numberOfFeatures)
{
List<Product> result;
// ensure the 2nd product is different manufacturer than the first ....
// ensure the 3rd product is a different manufacturer than the first two...
// ... etc ... for the numberOfFeatures
return result;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
澄清:
原始列表按特定顺序排列:"最畅销",最高排名(降序排列).结果列表应保持此顺序,但调整或移动"向上"项目除外,以便不同的制造商可以看到前n个功能.
如果项目的前n个(numberOfFeatures)都有不同的制造商,那么列表根本不需要改变.
例如,如果numberOfFeatures = 3
产品1 - 制造商A(第一个特征)
产品2 - 制造商B(第二个特征)
产品3 - 制造商C(第三个特征)
产品4 - 制造商A(......未检查...)
产品5 -制造商A(......未经检查......)
例如,案例调整...例如...输入列表
产品1 - 制造商A
产品2 - …