다음을 통해 공유


쿼리에서 요소 속성의 하위 집합을 반환하는 방법(C# 프로그래밍 가이드)

두 조건이 모두 적용되는 경우 쿼리 식에서 익명 형식을 사용합니다.

  • 각 원본 요소의 속성 중 일부만 반환하려고 합니다.

  • 쿼리 결과가 쿼리가 실행되는 메서드의 범위 밖에 저장할 필요가 없습니다.

각 원본 요소에서 하나의 속성 또는 필드만 반환하려는 경우 절에서 점 연산자 select 만 사용할 수 있습니다. 예를 들어 각 studentID만 반환하려면 select 절을 다음과 같이 작성하십시오.

select student.ID;  

예시

다음 예제에서는 무명 형식을 사용하여 지정된 조건과 일치하는 각 소스 요소의 속성 하위 집합만 반환하는 방법을 보여 줍니다.

private static void QueryByScore()
{
    // Create the query. var is required because
    // the query produces a sequence of anonymous types.
    var queryHighScores =
        from student in students
        where student.ExamScores[0] > 95
        select new { student.FirstName, student.LastName };

    // Execute the query.
    foreach (var obj in queryHighScores)
    {
        // The anonymous type's properties were not named. Therefore
        // they have the same names as the Student properties.
        Console.WriteLine(obj.FirstName + ", " + obj.LastName);
    }
}
/* Output:
Adams, Terry
Fakhouri, Fadi
Garcia, Cesar
Omelchenko, Svetlana
Zabokritski, Eugene
*/

이름이 지정되지 않은 경우 익명 형식은 속성에 원본 요소의 이름을 사용합니다. 익명 형식의 속성에 새 이름을 지정하려면 다음과 같이 문을 작성 select 합니다.

select new { First = student.FirstName, Last = student.LastName };  

이전 예제 Console.WriteLine 에서 이 작업을 시도하는 경우 문도 변경해야 합니다.

Console.WriteLine(student.First + " " + student.Last);  

코드 컴파일

이 코드를 실행하려면 System.Linq에 대한 지시문을 사용하여 클래스를 복사하여 C# 콘솔 애플리케이션 using 에 붙여넣습니다.

참고하십시오