C# groupBy custom class
<p>I'm trying to learn some more about what the below function is .... I ahve created a custom class and require to do grouping by multiple properties (a, b).
I'd like to group by timespan as well, hard to explain but if the elements timespan is less than say 30 mins apart I'd like them groped together, sort of a rolling time so if something has 1:00 then another found at 1:20 that it is the upper value so anything 30mins from 1:20 is grouped.... if this is possible. I'm guessing the grouped items are returned in a format that I can concaternate strings, sum numbers etc etc?</p>

<pre><code>foreach (var groups in raw.GroupBy(a =&gt; a.ID))
  {
    MessageBox.Show(groups.Count());
  }
</code></pre>

<p>Ps what is this GroupBy called? (sorry I'm a GIs student just fiddling with some data grouping stuff)</p>
