Подтвердить что ты не робот

Что означает оператор "=>" в свойстве в С#?

Что означает этот код?

public bool property => method();
4b9b3361

Ответ 1

Это свойство expression-bodied, новый синтаксис для вычисляемых свойств, введенных в С# 6, который позволяет создавать вычисленные свойства так же, как вы создаете лямбда-выражение. Этот синтаксис эквивалентен

public bool property {
    get {
        return method();
    }
}

Подобный синтаксис также работает для методов:

public int TwoTimes(int number) => 2 * number;

Ответ 2

Это свойство выражение. См. MSDN, например. Это всего лишь сокращение для

public bool property
{
    get
    {
        return method();
    }
}

Возможны и выраженные функции:

public override string ToString() => string.Format("{0}, {1}", First, Second);

Ответ 3

Как уже упоминалось, это новая функция, впервые представленная на С# 6, она расширила использование в С# 7.0, чтобы использовать ее с геттерами и seters, вы также можете использовать выраженный синтаксис с такими методами:

static bool TheUgly(int a, int b)
{
    if (a > b)
        return true;
    else
        return false;
}
static bool TheNormal(int a, int b)
{
    return a > b;
}
static bool TheShort(int a, int b) => a > b; //beautiful, isn't it?

Ответ 4

=>, используемый в свойстве expression body. В основном более короткий и более чистый способ записи свойства только с getter.

public bool MyProperty {
     get{
         return myMethod();
     }
}

Переводится на

public bool MyProperty => myMethod();

Это намного проще и удобочитаемо, но вы можете использовать этот оператор только с С# 6 и здесь вы найдете конкретную документацию о теге выражения.