2010-07-20 4 views
2

ForEach 확장 메서드에서 여러 엔티를 선택할 수 있습니까? 나는 내가 statement.Help을하시기 바랍니다 완료 할 수 없습니다 오전에 ForEachForEach 확장 메서드에서 다중 선택

x=> 
{ 
    x.SetField<string>("Name","Jon Skeet"), 
    x.SetField<string>("msg","welcome") 
} 

에서 다중 선택을 적용 할 때

(즉)

부분 코드는

DataTableA.AsEnumerable().ToList(). 
    ForEach(x=> 
    { 
     x.SetField<string>("Name","Jon Skeet"), 
     x.SetField<string>("msg","welcome") 
    }); 

주어집니다.

답변

5

당신은 람다 유효한 C 번호로 컴파일 할 필요가 :

말했다되고 그건
DataTableA.AsEnumerable().ToList().ForEach(
    x=> 
    { 
     x.SetField<string>("Name","Jon Skeet"); 
     x.SetField<string>("msg","welcome"); 
     }); 

, 나는이에 대한주의 것입니다. ForEach를 사용하면 purposely causing side-effects이고 언어 자체의 foreach 문보다 간결하지 않습니다. 개인적으로, 난 그냥 쓸 것 :

foreach(var element in DataTableA.AsEnumerable()) 
{ 
    element.SetField<string>("Name","Jon Skeet"); 
    element.SetField<string>("msg","welcome"); 
} 

이이 목록에 전체 열거를 강제로하지 않기 때문에, 내 의견으로는,보다 효율적으로 첫 번째 문보다 훨씬 더 분명하다 (짧은, 그리고, 목록 요소의 두 번째 열거).

+0

대단히 감사합니다. – user160677

+0

다시 한 번 감사드립니다. 내 제안대로 코드를 업데이트했습니다. – user160677