[C# 6.0] 람다 식을 이용한 메서드, 속성, 인덱서 정의

eunjin lee·2023년 1월 7일
0

C# 9.0 프로그래밍

목록 보기
40/50
  1. 식(expression)
  • 0개 이상의 연산자(operator)에 의해 결합되어 단일 값으로 계산할 수 있는 경우에는 식이다.
  • 메서드 호출, 리터럴 자체도 식이다.

    (x>=100) && (x<300)
    Console.WriteLine("test");
    "I am good."

  1. 문(statement)
  • 변수의 선언문
  • 선택문 (if문, switch문, case문)
  • 반복문 (for, foreach, while)
  • 점프문 (break, continue, goto)

    int a = 100;
    if (x>100) Console.WriteLine("success");
    ;



  1. 람다 식으로의 정의
  • 메서드, 속성, 인덱서가 식(expression)으로 이뤄진 경우 간략하게 람다 식을 이용해 정의할 수 있다.


    ✍ 메서드의 람다식
    public Vector Move(double dx, double dy) => new Vector(x+dx, y+dy);
    public void PrintXvalue() => Console.WriteLine(this.x);
    public override string ToString() => string.Format("x = {0}, y = {1}",x,y);
    ✍ 속성의 람다식
    public doulbe Angle => Math.Atan2(y,x);
    //get만 제공하므로 readonly 속성으로 제공된다.
    ✍인덱서의 람다식
    public double this[string angleType] =>
    angleType == "radian" ? this.Angle :
    angleType == "degree" ? RadianToDegree(this.Angle) :
    double.NaN;

0개의 댓글