title: Is there a trick in creating a generic list of anonymous type?
body: <p>Sometimes i need to use a Tuple, for example i have list of tanks and their target tanks (they chase after them or something like that ) :</p>
  
  <pre><code>List&lt;Tuple&lt;Tank,Tank&gt;&gt; mylist = new List&lt;Tuple&lt;Tank,Tank&gt;&gt;();
  </code></pre>
  
  <p>and then when i iterate over the list i access them by </p>
  
  <pre><code>mylist[i].item1 ...
  mylist[i].item2 ...
  </code></pre>
  
  <p>It's very confusing and i always forget what is item1 and what is item2, if i could access them by :</p>
  
  <pre><code>mylist[i].AttackingTank...
  mylist[i].TargetTank...
  </code></pre>
  
  <p>It would be much clearer, is there a way to do it without defining a class:</p>
  
  <pre><code>MyTuple
  {
  public Tank AttackingTank;
  public Tank TargetTank;
  }
  </code></pre>
  
  <p>I want to avoid defining this class because then i would have to define many different classes in different scenarios, can i do some "trick" and make this anonymous.</p>
  
  <p>Something like : </p>
  
  <pre><code>var k = new {Name = "me", phone = 123};
  mylist.Add(k);
  </code></pre>
  
  <p>The problem of course that i don't have a type to pass to the List when i define it </p>