Есть ли разница между следующим?C# getter vs readonly
class C
{
// One:
public static readonly int ValueAsAMember = 42;
// Two:
public static int ValueAsAProperty { get { return 42; } }
}
Я привык к написанию констант первого пути (если они не частные/внутренние, в этом случае я использую константное ключевое слово), но в последнее время я увидел вторую форму.
Есть ли какие-либо преимущества в отношении друг друга с точки зрения удобочитаемости, согласия, производительности или чего-либо еще?
Это, вероятно, не очень хороший вопрос для SO. Но я все равно дам ответ: используйте 'const', который более или менее эквивалентен вашей первой строке. Во второй строке вводится вызов метода, который, вероятно, будет встроен, но в чем смысл? – siride
Почему вы не используете «const»? – Crasher
Единственное использование, которое я использую «readonly», - это когда я устанавливаю их в конструкторах, обычно это интерфейсы для TDD и designmode (WPF & SL). Использовать 'const' в этом примере и стандарте именования C#, а не c/C++ hehe;) –