2016-10-05 4 views
1

나는 수업을 가능한 간단하게했다. 아래는 수업입니다. 다음은Linq을 사용하여 목록에 항목 추가

List<QuestionData> FinalSet = // Filled with Data Here 
IEnumerable<QuestionInfo> datapoints = from f in FinalSet 
    group f by new { f.QuestionID, f.Question } into fGroup 
    select new QuestionInfo() 
    { 
     QuestionID = fGroup.Key.QuestionID 
     , Question = fGroup.Key.Question, 
     , QuestionFinalScore = fGroup.Sum(g => g.QuestionScore) 
     //, ListAchieved = This is where IDK what to do :(
    }; 

Query 내 출력입니다 아래 아래

public class QuestionData 
{ 
    property QuestionID int {get; set;} 
    property Question String {get; set;} 
    property QuestionScore int {get; set;} 
    <!---Few More Properties ----!> 
} 
public class QuestionInfo 
{ 
    property QuestionID int {get; set;} 
    property Question String {get; set;} 
    property QuestionFinalScore int {get; set;} 
    property List<QuestionData> ListAchieved {get; set;} 
} 
Linq에서 그룹을 거쳐 및 내 샘플 데이터

Question | QuestionID | QuestionScore 
    Q1 |  1  |  10 
    Q1 |  1  |  20 
    Q2 |  2  |  10 
    Q2 |  2  |  -5 

입니다

나는 Question QuestionFinalScore 그것이 무엇인지 결국 방법으로 목록에 표시 할 수 있도록 18,

당신이 내 클래스 QuestionInfo를 참조 이제 경우, 내 질문 ListAchieved 속성에 모든 QuestionData를 추가해야합니다.

, ListAchieved = fGroup.ToList() 

이 풋 :

는 사람이 내가 이렇게 할 생각 QuestionIDQuestion

답변

3

별로 그룹화 내 List<QuestionData> 재산권에 모든 항목을 추가해야 할 일에 나를 지점 수 한 그룹의 모든 항목을 목록에 추가합니다.

+0

@GiladGreen 'fGroup.ToList()'는 틀린 것이 아니라면 해당 그룹에서 QuestionFinalScore를 달성 한 QuestionDatas의 List 를 반환합니다. 내 코드를 두 번 확인했는데 제대로 작동합니다. 그러나 꽤 긴 하루였습니다. 그래서 ListAchived가 무엇을 구성해야하는지 완전히 이해할 수 없었을 것입니다. – haindl

+1

죄송합니다. 실수였습니다. 나는'FinalSet'이'QuestionInfo'의 타입이라고 생각했습니다. 간단한'.ToList() '를 가진 해결책이 필요하다. –

+0

이것이 효과가있다. 감사. – AVK

관련 문제