title: which c# collection to use instead of List<KeyValuePair<string, double>>?
body: <p>I want to store data such as</p>
  <pre><code>{
   {&quot;apple&quot;,15   }
   {&quot;pear&quot;,12.5  }
   {&quot;&quot;, 10       }
   {&quot;&quot;, 0.45     }
  }
  </code></pre>
  <p>Data will be plotted on a bar chart (string will be the legend and double will be the value)
  Insert order is important.
  Perfs don't matter.
  <strong>Strings could be duplicated or empty.</strong> (values could be duplicated too)</p>
  <p>I need to get min and max values (easily if possible) to set the scale.</p>
  <p>I use</p>
  <pre><code>List&lt;KeyValuePair&lt;string, double&gt;&gt; data = new List&lt;KeyValuePair&lt;string, double&gt;&gt;();
  data.Add(new KeyValuePair&lt;string,double&gt;(&quot;&quot;,i));
  </code></pre>
  <p>Quite boring and unreadable.
  Is there a cleaner  way to do it ?</p>
  <pre><code>StringDoubleCollection data = new StringDoubleCollection();
  data.add(&quot;apple&quot;,15);
  data.add(&quot;&quot;,10);
  
  double max = data.values.Max(); 
  double min = data.values.Min();
  </code></pre>
  <p>if not how to get the max value of <code>List&lt;KeyValuePair&lt;string, double&gt;&gt;</code> without too much hassle</p>
  <p>NameValueCollection looks nice but its a <code>&lt;string,string&gt;</code> I need a <code>&lt;string,double&gt;</code></p>