2011-05-14 3 views
0

누군가가 나에게 '전통적인'예를 들어 보여줄 수 있습니까? 람다 표현식을 사용하여 다음 루프 방법 및 예제를 사용하여, 사람들의 연령의 평균을 찾을람다 표현 예

답변

2

은 보자

class People 
{ 
    int Age {get;set;} 
}; 

var people = new List<People>() {...}; 

방법 루프

int sum = 0; 
foreach(var p in people) 
sum += p.Age; 
int average = sum/people.Count; 

람다

int average = people.Average(p => p.Age); 
+0

와우는 꽤 차이가 있습니다. – Den

+0

예. 람다는 강력한 기능입니다. 그래서 .NET에 추가되었고 이제는 C++에 추가되었습니다. –

1
class Human 
{ 
    public int Age { get; set; } 
} 

IEnumerable<Human> people = ... 
int age = people.Average(p => p.Age); 
+0

abatishchev @ "전통적"방법도 잘 알고 있습니까? 루프를 사용하고 있습니까? – Den

+1

@Den : [직접 찾으십시오] (http://www.google.ru/search?q=c%23+average+-linq)) – abatishchev

1
var ages = new int[] { 10, 12, 14 }; 
var sum = 0; 
var count = 0; 

// loop 
foreach (var age in ages) { 
    count++; 
    sum += age; 
} 
var average = sum/count; 

// lambda 
ages.Average(x => x); // this is where it'd be something like x.age if it was an array of objects instead of ints