[c#] .Net에서 람다 식에 사용 된“=>”을 발음하는 방법

나는 다른 프로그래머를 거의 만나지 않습니다!

내가 처음 토큰을 보았을 때의 내 생각은 “그것을 암시한다”는 것입니다. 왜냐하면 그것이 수학적 증거로 읽었을 것이기 때문입니다. 그러나 그것은 그 의미가 아닙니다.

그래서 어떻게 “=>”를 말하거나 읽습니까?

IEnumerable<Person> Adults = people.Where(p => p.Age > 16)

아니면 동의하는 방법이 있습니까?



답변

나는 보통 그 연산자를 읽을 때 ‘그러한 것’이라고 말합니다.

귀하의 예에서 p => p.Age> 16은 “P, p.Age가 16보다 큼”으로 읽습니다.

사실, 나는 linq 시험판 공식 포럼에서이 질문을했고 Anders Hejlsberg는 다음과 같이 대답했습니다.

나는 보통 => 연산자를 “beeses”또는 “for which”로 읽습니다. 예를 들어,
Func f = x => x * 2;
기능 테스트 = c => c. 도시 == “런던”;
“x는 x * 2가됩니다”및 “c.City가 London과 같은 c”로 읽습니다.

‘가는’한, 그것은 결코 이해가되지 않습니다. ‘p’는 아무데도 가지 않습니다.

전화를 통해 누군가에게 코드를 읽는 경우 동료 C # 프로그래머라면 ‘lambda’라는 단어를 사용합니다. 열 여섯. “

의견에서 Steve Jessop은 변형의 경우 ‘지도’를 언급하므로 Anders를 예로 들어 보겠습니다.

x => x * 2;

읽을 것이다

x는 x 곱하기 2에 매핑됩니다.

그것은이 경우 ‘의’것보다 코드의 실제 의도에 훨씬 가깝게 보입니다.


답변

에서 MSDN :

모든 람다 식은 “goes to”로 읽는 람다 연산자 =>를 사용합니다.


답변

전화를 통한 코드 읽기

에릭 리퍼 트 ​​(Eric Lippert)

나는 개인적으로 c => c + 1이라고 말할 것이다. 내가 들었던 몇 가지 변형 :

투영의 경우 (고객 c) => c. 이름 : “고객은 도트 이름을 참조하십시오”

술어의 경우, (고객 c) => c.Age> 21 : “고객은 도트 연령이 21보다 큰 것을 참조하십시오”


답변

나는 항상 “왕 연산자”라고 불렀습니다 🙂

“p보다 나이 p가 16 세 이상”


답변

사람들이 “화살표”라고 말하는 것을 보았습니다.


답변

LINQ 책에서 다음과 같이 말했기 때문에 “goes to”를 사용합니다.


답변

“매핑”은 어떻습니까? 간결하고 논란의 여지없이 더 기술적으로 정확합니다. 다른 대안들. MSDN 페이지에서 암시하는 것처럼 이미 표준이 있지만 적어도 C # 코드의 경우와 같이 사용해야합니다.