2012-08-05 4 views
1

문제 : linq 값을 반환하는 방법을 말해 줄 수 있습니다. RadToolBarButtons 컬렉션을 반환하고 생성시 해당 값을 할당하려고합니다.수익률 foreach linq에

코드 : 나는 두 가지 방법으로 시도 :

IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList() 
     .ForEach(x => yield return new RadToolBarButton() { Value = x }); 

암시 적으로 '무효'11 수 없습니다 암시 'System.Collections.Generic.IEnumerable'

IEnumerable<RadToolBarButton> collection = 
    ContextMenuColumn.SelectMany<string,IEnumerable<RadToolBarButton>>(
     x => new RadToolBarButton() { Value = x }); 

오류로 형식을 변환 할 수 없습니다 오류 (11) 'Telerik.Web.UI.RadToolBarButton'을 'System.Collections.Generic.IEnumerable>'으로 변환하십시오. 명시 적 변환 (당신은 캐스트를 누락?) 존재

답변

3

당신은 Select 대신 ForEach를 사용해야합니다, 그것은 당신이 찾고있는 것을한다.

IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList() 
    .Select(x => new RadToolBarButton { Value = x }); 

나는 내부 ToList 필요한 경우, 당신은 멀리 Cast<T> 대신 가시화 중간리스트를받을 수 있습니다 모르겠습니다.

+0

감사합니다. :) – Wajahat

0

사용 Select 대신 ForEach, 그것은 할 것 yield returm 당신이