title: c# linq 'potentially' grouping and differences
body: <p>i am not sure how to tackle this problem.  i have a class, below, to represent the data being pulled from two websites.  I want to compare the difference between 'Site1 TradePrice to Site2 Price' AND 'Site2 TradePrice to Site1 Price'</p>
  
  <pre><code>public class Card
  {
    public string Name {get;set;}
    public string Site {get;set;}
    public decimal TradePrice {get;set;}
    public decimal Price {get;set;}
  }
  </code></pre>
  
  <p>Here is an example list which contains the same 'card' from two different 'sites'.</p>
  
  <pre><code>List&lt;Card&gt; cards = new List&lt;Card)
  {
    new Card() { Name="card1", Site="site1", TradePrice=8, Price=12 },
    new Card() { Name="card1", Site="site2", TradePrice=5, Price=10 },
    new Card() { Name="card2", Site="site1", TradePrice=13, Price=16 },
    new Card() { Name="card2", Site="site2", TradePrice=4, Price=5 },
    new Card() { Name="card3", Site="site1", TradePrice=2, Price=4 },
    new Card() { Name="card3", Site="site2", TradePrice=3, Price=6 }
  }
  </code></pre>
  
  <p>The new list returned would show something like this</p>
  
  <pre><code>{ Name='card1', TradePrice=8, Price=10, Diff=2 } //site1 to site2
  </code></pre>
  
  <p>Is this possible with linq?  i am leaning towards Grouping BUT not sure how to accurately make this happen.  Suggestions?</p>