var sortQ = filterQ; // <--- update
if (iSortingCols > 0)
{
sortQ = (sortDirs[0] == "asc") ?
sortQ.OrderBy((d) => d.GetColumnData()[sortCols[0]]) :
sortQ.OrderByDescending((d) => d.GetColumnData()[sortCols[0]]);
if (iSortingCols > 1)
{
for (int i = 1; i < iSortingCols; i++)
{
sortQ = (sortDirs[i] == "asc") ?
sortQ.ThenBy(d => d.GetColumnData()[sortCols[i]]) :
sortQ.ThenByDescending(d => d.GetColumnData()[sortCols[i]]);
}
}
}
컴파일러 말 루프의 내부 삼항 연산자의 두 결과를 강조하는 IEnumerable을 < ...> (유사 ThenByDescending에 대한) ThenBy라는 메서드 오버로드가 없습니다, sortQ는 해당 블록에 IOrderedEnumerable < ...이됩니다. C# 형식 유추가 왜 그렇게 선택되지 않습니까?형식 유추가
업데이트 : 나는 내가 IEnumerable을 <로 sortQ를 입력 유형의 추론 엔진을 강제로 다른 쿼리의 결과에 sortQ를 할당 한 것이 었습니다 원래 조각에서 제외 무엇을하기 전에 혼동되었을 수 있습니다 사람들을위한 ..>, 물론 내 견본을 망쳐 놓은 것입니다. 아래 답변은이 문제를 해결하는 방법입니다. @Marc 덕분에 줄 사이를 읽을 수 있습니다.
Doh! 네가 옳아. 나는 sortQ에 대한 이전 과제에 대해서 생각조차하지 않았다. 잘 했어. –