title: .net core Options configuration array override
body: <p>I have a class with one <code>List&lt;string&gt;</code> variable having default values.</p>
  <pre><code>public class MyOptions{
      public List&lt;string&gt; Settings {get; set;} = new List&lt;string&gt;(){&quot;Controls&quot;,&quot;Menus&quot;};
  }
  </code></pre>
  <p>Then I register it in <code>ConfigureServices</code> method like</p>
  <pre><code>services.Configure&lt;MyOptions&gt;(Configuration.GetSection(&quot;MyOptions&quot;));
  </code></pre>
  <p>I want to be able to change the value of <code>Settings</code> collection without changing the code.
  In my appsettings.json, I have tried the following</p>
  <pre><code>{
      &quot;MyOptions&quot;:{
          &quot;Settings:0&quot;:&quot;ReplacedSettings&quot;
      }
  }
  </code></pre>
  <p>to replace <code>&quot;Controls&quot;</code> with <code>&quot;ReplacedSettings&quot;</code>, but it doesn't work and I now get <code>Settings</code> with three values instead <code>[&quot;Controls&quot;,&quot;Menus&quot;,&quot;ReplacedSettings&quot;]</code>
  whereas I want <code>[&quot;ReplacedSettings&quot;,&quot;Menus&quot;]</code>.</p>
  <p>Is this supported? Or is there any similar data structure I can with Option pattern that allows defaults values to be overridden from appsettings.json.</p>
  <p>Thanks.</p>