소스 데이터를 변환하지 않는 쿼리
- 데이터 소스의 형식 인수에 따라 범위 변수의 형식이 결정됩니다.
- 선택된 개체의 형식에 따라 쿼리 변수의 형식이 결정됩니다. 여기서 name은 문자열입니다. 따라서 쿼리 변수는 IEnumerable<string>입니다.
- 쿼리 변수는 foreach 문에서 반복됩니다. 쿼리 변수가 문자열 시퀀스이기 때문에 반복 변수도 문자열입니다
소스 데이터를 변환하는 쿼리
- 데이터 소스의 형식 인수에 따라 범위 변수의 형식이 결정됩니다.
- select 문은 전체 Customer 개체가 아니라 Name 속성을 반환합니다. Name이 문자열이므로 custNameQuery의 형식 인수는 Customer가 아니라 string입니다.
- custNameQuery가 문자열 시퀀스이므로 foreach 루프의 반복 변수도 string이어야 합니다.
- 데이터 소스의 형식 인수는 항상 쿼리의 범위 변수 형식입니다.
- select 문이 무명 형식을 생성하기 때문에 var을 사용하여 쿼리 변수를 암시적으로 형식화해야 합니다.
- 쿼리 변수의 형식이 암시적이기 때문에 foreach 루프의 반복 변수도 암시적이어야 합니다.
컴파일러에서 형식 정보를 유추하도록 허용