foreach (var person in peopleList.Where (person => person.FirstName == "Messi")) { selectPeople.Add (person); }LINQ로 SImplifying - 기본 선택
LINQ를 사용하여 이것을 단순화 할 수있는 방법이 있는지 궁금합니다. 그런 다음
난 그냥 "메시"의와 목록을 채우기 위해 LINQ를 사용하려고했던 모든 사람들을 봐보다는처럼 ... 뭔가를하려고했다 ...
var selectPeople = peopleList.Select(x=>x.FirstName=="Messi");
수표없이 모든 사람을 그 목록에 추가 할 수 있습니다. 그러나 그것은 계획대로 잘 작동하지 않습니다.
아마도 표현을 단순화 할 필요가 없을 것입니다. 그러나 문제는 LINQ 지식을 강화하는 것만으로도 가치있는 것처럼 보였습니다.
을 나는 지금'있어 var에 selectPeople = peopleList.Where (사람 => person.Name == "메시") ToList() ; '그래서 Select와 SelectMany를 사용하는 방법에 관한 질문입니다. – baron
'SelectMany'는 각 항목이 여러 결과를 반환 할 수 있고 단일 결과 집합으로 결합하고자 할 때 사용됩니다. 예 : 'IEnumerable allChildren = person.SelectMany (person => person.GetChildren());'예제와 함께 필요하지 않습니다. –
또한 쿼리 식 대신 람다 (lambda)를 사용하는 확장 메서드를 사용할 때'선택 '이 중복되는 경우가 많습니다. 그러나 객체를 다른 것으로 투영하려면 '선택'을 사용하십시오. 예를 들어 FirstName이 "Messi"와 같을 때 LastNames의 목록 만 원할 경우,'peopleList.Where (p => p.FirstName == "Messi")와 같은 일을 할 것입니다 Select (p => p.LastName) ;', 주어진 기준과 일치하는 모든 사람들의 성을 나타내는'IEnumerable '이되어야합니다. –