.NET

LINQ & Delegates

LINQ 쿼리 구문, 메서드 구문, delegate, event, lambda 표현식, func/action

20 면접 질문·
Junior
1

C#에서 delegate란 무엇인가요?

답변

delegate는 특정 시그니처를 가진 메서드에 대한 참조를 나타내는 형식입니다. 메서드를 매개변수로 전달하거나 변수에 저장하고 동적으로 호출할 수 있습니다. delegate는 C#에서 event와 콜백의 기반이며, 이벤트 기반 프로그래밍과 Strategy 또는 Observer 같은 디자인 패턴에 필수적인 유연성을 제공합니다.

2

간단한 lambda 표현식을 선언하는 올바른 구문은 무엇인가요?

답변

(x) => x * 2 구문이 lambda 표현식의 올바른 형식입니다. => 기호("lambda operator"라고 함)는 매개변수와 표현식 또는 메서드 본문을 구분합니다. 이 간결한 구문으로 인라인 익명 함수를 만들 수 있으며, LINQ에서 사용하거나 동작을 매개변수로 전달할 때 매우 유용합니다. 매개변수가 하나뿐이면 매개변수를 감싸는 괄호를 생략할 수 있습니다.

3

int를 받아 string을 반환하는 메서드에는 어떤 제네릭 delegate를 사용해야 하나요?

답변

Func<int, string>가 적절한 제네릭 delegate입니다. Func는 값을 반환하는 메서드에 사용되기 때문입니다. 규칙상 마지막 형식 매개변수는 반환 형식을 나타내고, 그 앞의 것들은 입력 매개변수를 나타냅니다. Func는 최대 16개의 입력 매개변수를 받을 수 있습니다. 반환 값이 없는 메서드에는 Func 대신 Action을 사용해야 합니다.

4

Func와 Action의 주요 차이점은 무엇인가요?

5

LINQ는 무엇의 약자인가요?

+17 면접 질문

다음 면접을 위해 .NET을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기