私はあなたの助けが必要です。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
を、私は何をしたいの容量によってmyProductsリストを注文です。
ので、myProduct.Tags
= "89,3,6" と容量= "1,2,3,4,5,6" なら
2次いで、それら1の製品を表示される最初の等
問題はそれらを発注していませんが、問題は実際には一部のタグに容量値が含まれていないことです。
EDIT:例えば 、products.tagsので、それは能力値のいずれかが含まれていない「89,16,99」 である可能性があります。 EDIT2: 私は製品を注文するためにフィルタリングする必要はありません。
EDIT3: 私はvar foo = myProducts.OrderBy(p => p.Tags.Split(',').Intersect(capacity).OrderBy(c => capacity).Any());
でに開始し、私はそのイムの近くを感じるが、私は残りの部分を把握傾けます。 :(
は、英語での私の表現が良いことではありません、あなたは私の質問を理解願っています: \任意の追加情報については、私にお気軽に
どの人が能力を持っているのか、持っていないのかあなたはどのように知っていますか? MyProductクラスにCapacityプロパティを追加できますか? IEnumerable <>。Join()はソリューションの一部になるだろうという気持ちがありますが、私は実際にはもっと情報なしでは分かりません。 – itsme86
私はforeach {}が必要であると確信しています。 –
@ itsme86 - 質問に追加例 – Dementic