Question: What are the best practices for using the Properties.Settings.Default config settings in C#? I see it commonly, but I often don't know when to utilize it vs. when I should just hard code values. Thanks!

Answer: 
Basically, I try to avoid hardcoding values in code, mainly because if there's ever a need to change their value it requires a re-compile of the app. 

It's usually beneficial to have some sort of common object that exposes all your settings via public properties so that you are referencing the settings the same way throughout the app.

Example:

```
public static SomeReferenceClass
{
     public static string TimeOfDay { get{ return Properties.Settings.Default.TimeOfDay; }}
}

```

Then Later on to call it

```
SomeReferenceClass.TimeOfDay;

```
personally, I use the default setting when the user or application setting are not specified or persisted.

I'd never hardcode a setting that might change based on any number of variables such as environment, user, application, or whatever. 

I generally create settings providers that implement an interface. That way, you can easily change out how to gather your configuration settings without changing the business logic.