Последнее лучше - это значит, что:
- Это не переменная экземпляра, поэтому вы не получите избыточную ссылку на строку в каждом создаваемом вами экземпляре
- Вы не сможете изменить переменную (которую вы, вероятно, не хотите)
Существуют и другие эффекты «const» с точки зрения доступа из других сборок и управления версиями, но, похоже, это частное поле, поэтому проблем не должно быть. Вы можете в основном думать об этом как:
static readonly string sQuery = ...;
В целом, я считаю хорошей идеей сделать поля статичными, когда вы можете (если они не зависят от экземпляра, почему это должна быть переменная экземпляра?) И только для чтения, когда можете (изменяемые данные труднее причина о). Дайте мне знать, если вы хотите, чтобы я подробно рассказал о различиях между static readonly
и const
.