LINQ를 사용하도록 다음 코드를 변환하는 데 문제가 있습니다.개체 및 문자열 배열을 참조하는 Linq 쿼리
int occurs = 0;
foreach (string j in items)
{
if (!string.IsNullOrEmpty(j))
{
WorkflowModule tempWM = new WorkflowModule(j);
if (tempWM.StateID == item.StateID)
{
occurs++;
}
}
}
return occurs;
지금까지 내가 가지고있다 -
var lstItems = (from lstItem in items
where !string.IsNullOrEmpty(lstItem)
let objWorkflowModule = new WorkflowModule(lstItem)
select new
{
tempWM = objWorkflowModule.StateID
}).Where(item.StateID == tempWM));
return lstItems.Count();
하지만 인텔리이
사람이 저를 달성 할 수
라인 '어디에요 (item.StateID == tempWM))를'좋아하지 않는있다 이?감사합니다. 하면 "선언"해야 앞 부분의 결과를 보유하는 변수 x
말하면
...
}).Where(x => x.tempWM == item.StateID));
: 만약있어서 구문을 사용할 때
아이템이 원래 코드 외부에서 정의 된 변수 인 것 같기 때문에 실제로'Where (t => t.tempWM == item.StateID) '를 원한다고 생각합니다. – juharr
@juharr, 감사합니다. 답변을 업데이트했습니다. –