Я задал вопрос, прежде чем получить счетчик данных на стороне сервера, и мне было предоставлено решение на сайте. Было предложено использовать linq, который отлично работал, однако, поскольку я относительно новичок в этом, мне нужна небольшая помощь.
Используя решение Джона:
class Guy
{
public int age; public string name;
public Guy( int age, string name ) {
this.age = age;
this.name = name;
}
}
class Program
{
static void Main( string[] args ) {
var GuyArray = new Guy[] {
new Guy(22,"John"),new Guy(25,"John"),new Guy(27,"John"),new Guy(29,"John"),new Guy(12,"Jack"),new Guy(32,"Jack"),new Guy(52,"Jack"),new Guy(100,"Abe")};
var peeps = from f in GuyArray group f by f.name into g select new { name = g.Key, count = g.Count() };
foreach ( var record in peeps ) {
Console.WriteLine( record.name + " : " + record.count );
}
}
}
Я могу получить количество случаев появления Джона, Джейка и Эйба, используя приведенные выше рекомендации, предложенные Джоном. Однако, что, если проблема была немного сложнее, например
var GuyArray = new Guy[] {
new Guy(22,"John", "happy"),new Guy(25,"John", "sad"),new Guy(27,"John", "ok"),
new Guy(29,"John", "happy"),new Guy(12,"Jack", "happy"),new Guy(32,"Jack", "happy"),
new Guy(52,"Jack", "happy"),new Guy(100,"Abe", "ok")};
Приведенный выше код прекрасно работает для получения количества вхождений различных имен, но что, если мне нужно количество вхождений имен, а также количество вхождений каждого человека, который счастлив, грустен или в порядке. то есть вывод: Имя, количество имен, количество счастливых имен, количество печальных имен, количество имен в порядке. Если linq не лучшее решение для этого, я готов выслушать все альтернативы. Ваша помощь очень ценится.