본문 바로가기

워크/C# 2.0

익명 메서드 (Anonymous Methods)

익명 메서드는 메서드 이름이나 반환 타입 정의 없이 사용할 수 있는 메서드를 말합니다. 익명 메서드는 주로 이벤트 처리나 작은 기능을 위한 델리게이트에 사용됩니다. 익명 메서드는 delegate 키워드를 사용하여 정의됩니다.

아래는 익명 메서드를 사용하는 예제입니다:

using System;
using System.Collections.Generic;

public class AnonymousMethodExample
{
    // 델리게이트 선언
    delegate void DisplayMessage(string message);

    public static void Main()
    {
        // 익명 메서드를 사용하여 델리게이트 인스턴스화
        DisplayMessage messageDelegate = delegate(string msg)
        {
            Console.WriteLine($"Anonymous method says: {msg}");
        };

        messageDelegate("Hello from anonymous method!");

        // List의 예제
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        int evenCount = numbers.FindAll(delegate(int i) { return i % 2 == 0; }).Count;
        Console.WriteLine($"Number of even numbers: {evenCount}");
    }
}

이 코드를 실행하면 다음과 같은 출력 결과가 나옵니다:

Anonymous method says: Hello from anonymous method!
Number of even numbers: 2

이 예제에서 첫 번째 익명 메서드는 DisplayMessage 델리게이트 타입의 messageDelegate 인스턴스를 통해 호출되며, 두 번째 익명 메서드는 List<int>의 FindAll 메서드에서 조건으로 사용됩니다.

익명 메서드는 람다 식의 등장으로 그 사용빈도가 줄었지만, C# 2.0에서의 중요한 특징인 만큼 이해하는 것이 좋습니다.

'워크 > C# 2.0' 카테고리의 다른 글

고정 크기 버퍼 (Fixed Size Buffers)  (0) 2023.08.25
반복자 (Iterators)  (0) 2023.08.25
Nullable 타입  (0) 2023.08.25
제네릭 (Generics)  (0) 2023.08.25
C# 2.0의 주요 특징  (0) 2023.08.25