 <p>Usually <code>Tag</code> property will be of type <code>Object</code>, so I assume it is of type <code>Object</code>. <code>==</code> operator with <code>System.Object</code> work as reference comparison (meaning references of the instances are compared than value).</p> <p>To fix it just introduce a cast to string.</p> <pre><code>if ((string)answer[0].Tag == "bla bla" &amp;&amp; (string)answer[1].Tag== "blabla2") { MessageBox.Show("They Match"); } else { MessageBox.Show("They don't"); } </code></pre>