그룹화 할 개체 목록이 있습니다. 객체 목록 매개 변수를 가지고 있고, 그룹화 동안이 같은 목록의 합 만들고 싶어 : 나는 다음과 같은 한 지금 LINQ를 사용하기 위해linq을 사용하여 그룹화 및 합계 <int> (우편 번호)
for(int i=0;i<MyList1.Count();i++)
{
StatutOperations[i]=StatutOperations1[i]+StatutOperations2[i]...
}
을 :
는liste_rep = liste_rep.GroupBy(l => l.Nom)
.Select(cl => new Repere
{
Quantite = cl.Sum(c => c.Quantite),
IdAff = cl.First().IdAff,
ID = 0,
ListeOperations = cl.First().ListeOperations,
StatutOperations = cl.Zip(StatutOperations)//First().StatutOperations
}).ToList();
라인 만드는 문제는 마지막으로, 나는 두 테이블을 합산하기 위해 Zip 함수를 사용하는 방법을 찾았지만 List를 그룹화하는 데 사용하려면 어떻게해야합니까?
편집 : StatusOperations는 정수 목록입니다. 구체적으로 liste_rep는 세부 정보 목록이고 세부 정보에는 n 개의 작업 목록이 있으며 StatusOperations에는 각 작업에 대해 얼마나 세부 정보가 작동되었는지가 결정됩니다.
예 : ListOperations는 = CUT, DRILL는 StatusOperations의 = 20,20,10
이 내가 그룹에 점점 세부 사항의 목록을 원하는 20 개 세부 (20)가 천공되어, 절단 및 10 페인트 의미 페인트 각 작업에 대한 합계.
편집 2 : 나는 단지 그것을 자신에게 그룹을 어떻게 관리 할 수 지금은
: StatutOperations는 INT의 목록입니다 경우
liste_rep = liste_rep.OrderBy(p => p.Nom).ToList();
if (liste_rep.Count()>1)
{
totalStatut = liste_rep[0].StatutOperations.ConvertAll(s => s = 0);
string oldRep = "";
Repere repere = new Repere();
foreach (Repere rep in liste_rep)
{
if (rep.Nom!=oldRep)
{
newListRep.Add(repere);
repere = new Repere();
repere.Nom = rep.Nom;
repere.StatutOperations = rep.StatutOperations;
}
else
{
repere.StatutOperations=repere.StatutOperations.Zip(rep.StatutOperations, (x, y) => x + y).ToList();
}
oldRep = rep.Nom;
}
}
'StatutOperations'이 무엇인지 설명하십시오. 다른 테이블과 원하는 출력의 샘플 데이터를 보여줍니다. 'Zip'은 아이템의 인덱스로 두 개의 콜렉션을 결합하는데 사용됩니다 - 첫 번째는 두 번째, 두 번째는 ... –
어떤 에러가 나옵니까? – derloopkat
Gilad Green 글을 편집했습니다. derloopkat 아직 좋은 구문을 얻지 못해서 오류 메시지가 없습니다. –