C\#9.0 새로운 특성의 Lambda 버 림 매개 변 수 를 분석 합 니 다.

안녕하세요,C\#9.0 새로운 특성 짧 은 시리즈 의 다섯 번 째 글 입 니 다.
버 림 원(Discards)은 C\#7.0 에서 지원 되 기 시 작 했 습 니 다.사용 하지 않 는 임시 가상 변 수 를 버 리 기 위해 서 입 니 다.문법 적 으로 값 을 부여 하 는 데 사용 되 지만 저장 공간,즉 값 이 없 기 때문에 값 을 읽 을 수 없습니다.버 림 용 (밑줄)은 밑줄 은 하나의 키워드 로 값 만 부여 할 수 있 고 읽 을 수 없다 는 것 을 나타 낸다.예 를 들 어:

C\#7.0 에서 버 림 원 의 사용 장면 은 주로 다음 과 같은 네 가지 가 있다.
4.567917.원조 와 대상 의 해체is 와 switch 를 사용 하 는 모드 가 일치 합 니 다
  • out 매개 변 수 를 가 진 방법 에 대한 호출
  • 역할 영역 내 독립 사용 장면
  • 이 몇 장면 에 대해 아래 의 몇 단락 코드 로 시범 을 보 여 주세요.
    장면 1:원조/대상 의 해체
    
    var tuple = (1, 2, 3, 4, 5);
    (_, _, _, _, var fifth) = tuple;
    필드 2:is/switch 모드 매 칭 사용
    
    var obj = CultureInfo.CurrentCulture.DateTimeFormat;
    
    switch (obj)
    {
      case IFormatProvider fmt:
        Console.WriteLine($"{fmt} object");
        break;
      case null:
        Console.Write("A null object reference");
        break;
      case object _:
        Console.WriteLine("Some object type without format information");
        break;
    }
    
    if (obj is object _)
    {
      ...
    }
    장면 3:out 매개 변 수 를 가 진 방법 에 대한 호출
    
    var point = new Point(10, 10);
    //    x,     y
    point.GetCoordinates(out int x, out _);
    장면 4:역할 영역 내 독립 사용 장면
    
    void Test(Dto dto)
    {
      _ = dto ?? throw new ArgumentNullException(nameof(dto));
    }
    기 원 을 이해 하고 기 원 의 네 가지 사용 장면 도 알 게 되 었 다.그러면 아래 의 C\#9.0 에서 새로 지원 하 는 기 원 사용 장면 에 대해 쉽게 이해 할 수 있다.
    C\#9.0 버 림 원 에 대한 장면 지원 이 추가 되 었 습 니 다.Lambda 매개 변 수 는 익명 방법 매개 변수 도 포함 합 니 다.예시:
    
    // C# 9   
    Func<int, int, int> zero = (a, b) => 0;
    Func<int, int, int> func = delegate (int a, int b) { return 0; };
    
    // C# 9
    Func<int, int, int> zero = (_, _) => 0;
    Func<int, int, int> func = delegate (int _, int _) { return 0; };
    C\#9 전에 사용 하지 않 는 Lambda 인자 도 이름 을 지어 야 합 니 다.C\#9 는 버 림 파 라 메 터 를 지원 하 는 한편 으로 는 이름 을 간소화 하고 다른 한편 으로 는 메모리 분 배 를 절약 합 니 다.더 중요 한 것 은 프로 그래 밍 의 의 도 를 더욱 명확 하 게 하고 한눈 에 이 매개 변 수 를 사용 하지 않 는 다 는 것 을 알 게 하 며 코드 의 가 독성 과 유지 가능성 을 강화 하 는 것 이다.
    참고:
    [Discards - C# Guide] http://dwz.date/bpuV
    이상 은 C\#9.0 새로운 특성의 Lambda 버 림 매개 변수 에 대한 상세 한 내용 입 니 다.c\#Lambda 버 림 매개 변수 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!

    좋은 웹페이지 즐겨찾기