2012-01-24 2 views
-1

직원 개체 컬렉션을 직원의 ID 만 포함 된 배열로 변환하려면 어떻게해야합니까?employee.id 만 포함 된 배열에 대한 직원 개체 컬렉션

컬렉션은 말 포함됩니다 :

e.id = 1; 
e.name = a; 

e1.id = 2 
e1.name = b; 

가 난 단지 employee.id LINQ를 사용하여 포함 목록 또는 배열을 검색하고 싶습니다. 실제 코드의 세부 사항을 더하지 않고

+2

, 당신은) (.ToList 호출을 피해야한다 , .ToArray(), .ToDictionary() 등이 있습니다. 대다수의 경우 열거 형으로 남겨 둘 수 있습니다. – Servy

+0

@Servy : 그것은 다릅니다. 열거 형이 열거 될 때마다 데이터베이스에 도달하면 음, 그냥 ToArray라고 부르기를 원할 것입니다. 또는 어떤 투영법에 그것이 포함되고 값 비싼 계산이 포함되는 경우. 기타 이러한주의 사항이 없으면 "피해야합니다"라고 말하는 것은 위험합니다. 나는 "대다수의 경우"라고 말하는 것이 공평한 것인지조차 모른다. – jason

+0

@Jason 내가 다시 한번 말하지만. 첫째로, OP는 사실 자신의 경우에 더 나은 상태에 대한 충분한 정보를 제공하지 않았습니다. 나는 그가 그것에 대해 생각할 수 있도록 요점을 제시했다. 그러나 일반적으로 사람들이 .ToArray/.To를 사용하는 많은 경우를 볼 수 있습니다. 필요할 때 언제든지 사용하지 않는 사람들을 거의 볼 수 없습니다. 영업 담당자가 .ToArray를 호출하는 것이 적절한 지에 대해 생각할 시간이 필요하다면 내 코멘트를 성공으로 간주 할 것입니다. – Servy

답변

1
List<int> ids = employees.Select(a => a.id).ToList(); 

또는

int[] ids = employees.Select(a => a.id).ToArray(); 
+0

그건 ToArray() 맞죠? –

+0

수 있습니다. 질문은 "목록 또는 배열"이라고 말했습니다. 나는 방금 마음에 처음 나온 글을 썼다. 내 대답을 모두 포함하도록 수정하겠습니다. – Sorax

0

.... 보조 노트에

MyListOfEmployees.Select(e => e.id).ToList(); 
3
var employeeIds = employees.Select(x => x.id).ToArray();