title: Constants best practices
body: <p>I have a simple classes which are initialized with dictionary values and can return its values as dictionary, here is an example:</p>
  
  <pre><code>public class ApartmentModel
  {
      public int Id { get; set; }
  
      public string Title { get; set; }
  
      public ApartmentModel()
      {
      }
  
      public ApartmentModel(IDictionary&lt;string, object&gt; item)
      {
          Id = (int)item["ID"];
          Title = item["Title"].ToString();           
      }
  
      public override IDictionary&lt;string, object&gt; FieldsValues()
      {
          var item = new Dictionary&lt;string, object&gt;
          {
              ["ID"] = Id,
              ["Title"] = Title                
          };
          return item;
      }
  }
  </code></pre>
  
  <p>Some classes have common fields, like "Id" and "Title".
  I'm wondering what is the best practice to store dictionary keys strings as constants: in the same class as private fields or in the settings/resource file?</p>