Если я напишу следующее для определения члена класса:
Код: Выделить всё
public List Names => new() {
"Foo",
"Bar",
"Baz"
};
... насколько я понимаю, выражение оценивается каждый раз, когда осуществляется доступ к элементу, поэтому каждый раз будет создаваться новый экземпляр List. Будет ли компилятор C# оптимизировать это и создавать только один экземпляр, к которому будет осуществляться доступ каждый раз? Если нет, имеет ли значение использование следующего выражения коллекции?
Код: Выделить всё
public List Names => [
"Foo",
"Bar",
"Baz"
];
А если нет, то как я могу получить такой член класса, предоставляющий мне список значений, который не приводит к инициализации нового класса при каждом доступе к нему?
Подробнее здесь:
https://stackoverflow.com/questions/784 ... n-bodied-m