am I using Dictionary wrong, it seems it too slow
<p>I've used VS profilier and noticed that ~40% of the time program spends in the lines below.
I'm using <code>title1</code> and <code>color1</code> because either Visual Studio or Resharper suggested to do so. Are there any perfomance issues in the code below?</p>

<pre><code>Dictionary&lt;Item, int&gt; price_cache = new Dictionary&lt;Item, int&gt;();
....


string title1 = title;
string color1 = color;
if (price_cache.Keys.Any(item =&gt; item.Title == title &amp;&amp; item.Color == color))
{
    price = price_cache[price_cache.Keys.First(item =&gt; item.Title == title11  &amp;&amp; item.Color == color1)];
</code></pre>
