Я писал этот кусок кода:
public const int MAJOR_VERSION = 3;
public const int MINOR_VERSION = 3;
public const string VERSION_STRING = $"v.{MAJOR_VERSION}{MINOR_VERSION}";
И, что неудивительно, компилятор жаловался:
"Выражение, присваиваемое VERSION_STRING, должно быть постоянным"
Я понимаю, что константные выражения предназначены для распространения компилятором, но в этом конкретном случае строку можно очень легко создать статически, поскольку она зависит только от других констант.
Так что, возможно, кто-то может объяснить мне, почему это уже не особенность языка? А может даже, почему глупо с моей стороны задавать такой вопрос..
Заранее спасибо. :)
$"..."
- это вызов методаstring.Format/Concat
... так что это не константа... - person Selvin   schedule 23.01.2020