:: Не фоксом единым
Expression-bodied members
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
В C# 6 появилась возможность "Expression-bodied members". Как я это понимаю. Есть выражение:

public string[] GetCountryList() => new string[] { "Russia", "USA", "UK" };

которое эквивалентно:

public string[] GetCountryList()
{
return new string[] { "Russia", "USA", "UK" };
}

На github.com приводится пример:

public double Dist => Sqrt(X * X + Y * Y);

Попробовал откомпилировать - выводится ошибка.

[attachment 24615 s1.png]

Как это работает?
Ratings: 0 negative/0 positive
Re: Expression-bodied members
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Если бы было написано:

public double Dist(int X, int Y) => Math.Sqrt(X * X + Y * Y);

было бы понятно. На github.com просто опечатка? Или, я чего то не знаю?
Ratings: 0 negative/0 positive
Re: Expression-bodied members
Рома

Сообщений: 1079
Дата регистрации: 06.06.2001
Просто предполагается, что X,Y - члены класса.
class Some
{
int X, Y;
public double Dist => X*X + Y*Y;
}
Ratings: 0 negative/0 positive
Re: Expression-bodied members
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Вот оно что, Михалыч!




Спасибо.
Ratings: 0 negative/0 positive
Re: Expression-bodied members
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
( В версиях Си, похоже, делают, как я, дилетант, делаю в своих фрейверках: метаязыки, условности,которых много (и 10 достаточно, чтобы потом все запутались), символика в метаязыках окололичная. Верный путь к забыванию Си, и изобретению нового языка )
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 8 (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика