C# HashSet with struct and string
<p>I created to following code to verify the uniqueness of a series of "tuples":</p>

<pre><code>struct MyTuple
{
   public MyTuple(string a, string b, string c)
   {
      ValA = a; ValB = b; ValC = c;
   }
   private string ValA;
   private string ValB;
   private string ValC;
}

...

HashSet&lt;MyTuple&gt; tupleList = new HashSet&lt;MyTuple&gt;();
</code></pre>

<p>If I'm correct, I will not end up with two tuples with the same values in my <code>HashSet</code> thanks to the fact that I'm using a struct. I could not have the same behavior with a class without implementing <code>IEquatable</code> or something like that (I didn't dig too much how to do that). </p>

<p>I want to know if there is some gotcha about what I do. Performance wise, I wouldn't expect the use of a struct to be a problem considering that the string inside are reference types.</p>

<p>Edit:
I want my HashSet to never contains two tuples having string with the same values. In other words, I want the string to behave like values types.</p>
