我需要你的帮助。Linq - OrderBy id当在另一个列表中的值
让说:
public class myProduct
{
public string Tags {get;set;} // Comma seperated values
}
List<myProduct> myProducts = WhatEver // Feeding the list products
List<long> capacity = WhatEverAlso // Feed the list long values from somewhere
现在,我想做的事是为了通过能力我的产品清单。
所以,如果一个myProduct.Tags
= “89,3,6” 和能力= “1,2,3,4,5,6”
第一会出现产品在他们1,则2等
问题是不排序他们,问题实际上是一些标签不包含容量值。
编辑: 例如products.tags可能是“89,16,99” 所以它不包含任何的能力值。 EDIT2: 我不需要过滤产品,只需要订购它们。
EDIT3: 我开始与var foo = myProducts.OrderBy(p => p.Tags.Split(',').Intersect(capacity).OrderBy(c => capacity).Any());
我觉得IM接近,但我不能想出休息。 :(
希望你明白我的问题,我的英语表达不是很好:\ 随时问我任何额外信息
你怎么知道哪些人做和没有能力?你可以添加容量属性到你的MyProduct类吗?我感觉IEnumerable <>。Join()将成为解决方案的一部分,但是如果没有更多的信息,我就无法分辨出来。 – itsme86 2012-01-12 19:09:01
我很确定你需要一些foreach {}来做。 – 2012-01-12 19:09:53
@ itsme86 - 将问题添加到示例中 – Dementic 2012-01-12 19:11:30