그룹화를 사용하는 데 문제가있는 LINQ-newb입니다. dosesWithHighestScore라는 IEnumerable을 쿼리하려고합니다.LINQ 쿼리에서 그룹 메서드가 인식되지 않습니다.
나는이 다음 예제 해요 :
var doseWithLowestVolumeForForm =
from d in dosesWithHighestScore
group d by d.formulation.form into g
select new {
Form = g.Key,
LowDose = g.Group.Min(d => d.doseAdministrableAmount)
};
이 오류의 원인이되는 "그룹"의 사용 :
'System.Linq.IGrouping'여기 http://msdn.microsoft.com/en-us/vcsharp/aa336747.aspx#minGrouped
은 내 코드입니다 'Group'에 대한 정의가없고 'System.Linq.IGrouping'유형의 첫 번째 인수를 허용하는 'Group'확장 메서드가 없습니다 (지시문이나 어셈블리 참조가 누락 되었습니까?)
다음은 내 using이는 :
using System;
using System.Text;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Collections;
왜이 오류는 무엇입니까?
컴파일 - 감사합니다! 그래서 한 가지 더 추가 질문 : 어떻게 결과에 액세스합니까? 나는 dosesWithLowestVolumeForForm [0] .Form과 같은 것을 할 수있을 것이라고 생각했으나 작동하지 않습니다. – Marvin
LINQ 문의 결과가 배열이 아닌 쿼리 개체입니다. 검색 결과에 액세스하는 방법에는 여러 가지가 있습니다. 일반적인 방법은'foreach' 루프를 사용하여 각 결과를 평가하는 것입니다. 'foreach (varWithLowestVolumeForForm의 항목) {...}'와 같이. 또는 첫 번째 결과에만 관심이있는 경우 다음과 같이 할 수 있습니다. 'doseWithLowestVolumeForForm.First()': 쿼리의 첫 번째 결과를 반환합니다. 다른 대안들도 존재하지만 ... 다시 말하면, 당신이 결과로 무엇을해야하는지에 달려 있습니다. – LBushkin