2017-01-17 17 views
-1

辞書キーのいずれかの値に基づいてネストされた辞書をグループ化しようとしています。私はのようなリストをグループ化していることができるように、ネストされた辞書内の鍵の一つであることを起こるentryDateによってCで特定のネストされた辞書キーでネストされた辞書でグループ化する#

{ 
    {[value, 166], [entryDate, 1/1/2016], [id, 1]}, "vitalweight"}, 
    {[value, 176], [entryDate, 6/2/2016], [id, 2]}, "vitalweight"}, 
    {[value, 126], [entryDate, 1/1/2016], [id, 1]}, "vitalpulse"}, 
    {[value, 100], [entryDate, 1/1/2016], [id, 1]}, "vitaltemp"}, 
    {[value, 98], [entryDate, 6/2/2016], [id, 2]}, "vitaltemp"} 
} 

私はグループにこのデータをしようとしています:

Dictionary<Dictionary<string, object>, string> data= new Dictionary<Dictionary<string, object>, string>(); 

辞書には、次のようになります。

{ 
    {[value, 166], [entryDate, 1/1/2016], [id, 1]}, "vitalweight"}, 
    {[value, 126], [entryDate, 1/1/2016], [id, 1]}, "vitalpulse"}, 
    {[value, 100], [entryDate, 1/1/2016], [id, 1]}, "vitaltemp"} 
}, 
{ 
    {[value, 176], [entryDate, 6/2/2016], [id, 2]}, "vitalweight"}, 
    {[value, 98], [entryDate, 6/2/2016], [id, 2]}, "vitaltemp"} 
} 

私はさまざまな方法で試しましたが、私はそれを完了できませんでした、私は何も表示することはできません。しかし、それをグループ化するためにlinqクエリを使用しようとしていました。誰かが助けることができれば感謝します。

+1

はわからないものを所望の出力ですが、内側の辞書は常にキーが含まれている場合は、「ENTRYDATE」、そして 'data.GroupBy(項目=> item.Key ["entryDate"]) 'はあなたに良い出発点を与えるはずです。 –

答えて

0
data = new Dictionary<Dictionary<string, object>, string>() 
{ 
    {new Dictionary<string, object> {{"value", 166},{"entryDate", "1/1/2016"},{"id", "1"},},"vitalweight"}, 
    {new Dictionary<string, object> {{"value", 176},{"entryDate", "6/2/2016"},{"id", "2"},},"vitalweight"}, 
    {new Dictionary<string, object> {{"value", 126},{"entryDate", "1/1/2016"},{"id", "1"},},"vitalpulse"}, 
    {new Dictionary<string, object> {{"value", 100},{"entryDate", "1/1/2016"},{"id", "1"},},"vitaltemp"}, 
    {new Dictionary<string, object> {{"value", 98},{"entryDate", "6/2/2016"},{"id", "2"},},"vitaltemp"}, 
}; 

data.GroupBy(d=>d.Key["entryDate"]); 

これはあなたの鍵の辞書のすべてがこのキーを持っていることを、前提としています。

と私が持っている出力:

enter image description here

関連する問題