2017-01-17 1 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

관련 문제