Диаграмма C # привязка к var - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть var t из запроса linq с этой структурой:

    [0] = { Type = "K", Count = 1 }
    [1] = { Type = "Z", Count = 8 }

и теперь я хочу с элегантностью связать его с моим графиком (без foreach). Я пытаюсь сделать что-то вроде этого:

    series1.Points.DataBindXY(t. ????, t.????);

но я не знаю, как получить "первый столбец" и "второй столбец" моего var. Пожалуйста, помогите

Edit: Мой запрос linq:

                var t= (from oAction in Actions
                    group oAction by oAction.Type.Name into g
                    select new { Type = g.Key, Count = g.Count() }).ToArray();

Ответы [ 2 ]

0 голосов
/ 19 ноября 2011
var t= (from oAction in Actions
                    group oAction by oAction.Type.Name into g
                    select new { Type = g.Key, Count = g.Count() }).ToArray();

Хорошо, значит, вы возвращаете анонимный тип.Вы можете определенно получить доступ к t.Type или t.Count, но выгода заключается в том, что вы можете сделать это только внутри метода, где определен этот запрос LINQ.Область действия анонимного типа ограничена методом, в котором он определен.Вы можете преодолеть это ограничение, используя ключевое слово «dynamic».Но я этого не пробовал, поэтому не могу быть уверен на 100%.

0 голосов
/ 19 ноября 2011

Я никогда не работал с диаграммами ASP.Net, поэтому я не уверен, что это будет работать, но я думаю, что это должно:

series1.Points.DataBindXY(t.Select(x => x.Type), t.Select(x => x.Count));

Это назначит коллекцию Type значений в качестве значений x и коллекцию Count значений в качестве значений y.

...