下の例のように結合がどのように見えるかを考えようとしています。 linqを次のように書くことが可能かどうかを判断するのに役立ちます。Linq - KeyValuePair.Valueがコレクションそのものである辞書に参加する
List<string> col1;
Dictionary<string, List<string>> join2;
col1の項目が辞書の値リストコレクションに存在するすべてのキーを辞書から選択したいと考えています。
IEnumerable<string> query = from c1 in col1
join kvp in join2 on c1 equals kvp.Value
where c1 == "foo"
orderby kvp.Key
select kvp.Key;
明らかに、kvp.Valueはリストであり、c1と同等の文字列ではない - 任意のポインタ?また
IEnumerable<string> query = from kvp in join2
where kvp.Value.Contains ("foo")
orderby kvp.Key
select kvp.Key;
と参加:あなたが同じ結果をもたらすであろう次「foo」というのを選択している場合
ここで、col1の項目の* all *は値に表示されますか? * col1の項目の* any *が値に表示されますか?注文は重要ですか? 「foo」はどこに来ますか?現時点であなたが達成しようとしていることは本当に不明です。いくつかのサンプルデータを与えてください。 –
ちょっと、ジョンを返すためにKeyValuePairのValueプロパティにあるコレクションをリンクしたかったのです。条件付きの 'foo'部分は、キーを返すために値コレクション内で見つけたい値を示します。私は_Any_マッチの後にいます - したがって、複数のfrom句とwhereを含む条件が自分の要件に一致します。探してくれてありがとう。 –
任意の通話を使用すると、うまくいっているでしょう... –