title: GetValues of NameValueCollection not returning all values for a key with duplicates
body: <p>I am trying to use a external config file in my console application. My App.config looks like this.</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;configuration&gt;
    &lt;configSections&gt;
      &lt;section name="MyConfig" type="System.Configuration.NameValueFileSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;
      &lt;section name="MyConfig2" type="System.Configuration.NameValueFileSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;
      &lt;section name="MyConfig3" type="System.Configuration.NameValueFileSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;
    &lt;/configSections&gt;
    &lt;MyConfig configSource="MyCustomConfig.config"/&gt;
    &lt;MyConfig2 configSource="MyCustomConfig2.config"/&gt;
    &lt;MyConfig3 configSource="MyCustomConfig3.config"/&gt;
    &lt;startup&gt;
    &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/&gt;&lt;/startup&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>In the config file, I have few keys with duplicates which is expected.</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;MyConfig&gt;
    &lt;add key="NodeName" value="node1"/&gt;
    &lt;add key="NodeName" value="node2"/&gt;
    &lt;add key="NodeName" value="node3"/&gt;
    &lt;add key="NodeName" value="node4"/&gt;
    &lt;add key="NodeName" value="node5"/&gt;
    &lt;add key="NodeProperty1" value="value1"/&gt;
    &lt;add key="NodeProperty2" value="value2"/&gt;
    &lt;add key="NodeProperty3" value="value3"/&gt;
  &lt;/MyConfig&gt;
  </code></pre>
  
  <p>I am trying to read the values for NodeName using below code.</p>
  
  <pre><code>var ConfigData = (NameValueCollection)ConfigurationManager.GetSection("MyConfig");
  foreach (string Nodename in ConfigData.GetValues("NodeName"))
  {
      Console.WriteLine("Node Name:" + Nodename);
  }
  </code></pre>
  
  <p>Using above code, I only get node5 instead of getting values node1 to node5. Even though GetValues is supposed to return a string array, the array itself has only 1 value. Please let me know what needs to be corrected so that I can read all the values.</p>
  
  <p>I know that I can achieve the required results using a comma separated values, but the number of nodenames can grow to a large number is future. So I don't want someone setting up the config to make any errors when adding new node values as CSV. Hence I want pursue an option that will allow me to setup these as individual key value pair.</p>