Хорошо, это далеко вытянутый угол, на который мы наткнулись, но мне было любопытно.
Рассмотрим следующий код:
public class Foo
{
private int foo;
public int Reset() => foo = 0; //remember, assignment expressions
//return something!
}
Будет ли этот код компилироваться?
Нет, это не так, если у вас возникнут ошибки во всех предупреждениях; вы получите предупреждение member foo is assigned but never used
.
Этот код для всех целей такой же, как:
public class Foo
{
private int foo;
public int Reset() { foo = 0; return foo; }
}
Какие компиляции просто прекрасны, так в чем проблема? Обратите внимание, что синтаксис =>
не является проблемой, и он возвращает выражение присваивания, которое, похоже, запутывает компилятор.