У меня была эта проблема с байтовым массивом, содержащимся в MemoryStream - я обнаружил, что это работает для просмотра содержимого MemoryStream в окне Visual Studio 2010 Watch:
System.Text.ASCIIEncoding.ASCII.GetString(((((System.IO.MemoryStream)(s)))._buffer))
Вот код, который может вам помочь. Он группирует экземпляры Target в группы по свойству A, а затем выполняет итерацию по группировке и печатает количество групп ...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IterateCollection
{
class Program
{
static void Main(string[] args)
{
var lst = new List<Target>() { new Target() { A=1, B=1 },
new Target() { A=1, B=2 },
new Target() { A=2, B=1 },
new Target() { A=2, B=2 },
new Target() { A=3, B=1 } };
var grp = lst.GroupBy(t => t.A);
var dic = grp.ToDictionary(g => g.Key);
List<int> res = null;
foreach (var key in dic.Keys )
{
res = dic[key].Select(t => t.A).ToList();
Console.WriteLine("Number of {0} is {1}", key, res.Count);
}
Console.ReadLine();
}
}
public class Target
{
public int A { get; set; }
public int B { get; set; }
}
}
Посмотрите на 101 LINQ Samples - конкретно на Group By Sample .