#c# #linq
#c# #linq
Вопрос:
Я видел примеры умножения группы по столбцам, но для классов. Я пытаюсь сделать это для EnumerableDataRowList. но я получаю «Недопустимый аноним-член типа declarator».
EnumerableDataRowList<DataRow> enumerableRowCollection = new EnumerableDataRowList<DataRow>(reportData.Select("WeekKey <> '0'"));
var groupedRows1 = from row in enumerableRowCollection
group row by new {row["NETWORK"], row["Week"] };
кроме того, я видел, как некоторые люди объединяли столбцы в каком-то случае, чтобы получить одинаковые результаты. Есть ли польза в том, чтобы делать это таким образом
Ответ №1:
Вы должны присвоить значениям идентификатор:
var groupedRows1 = from row in enumerableRowCollection
group row by new { Network = row["NETWORK"], Week = row["Week"] };
Обычно вам не требуется указывать идентификатор, если вы используете ссылку на поле или свойство, поскольку это просто повторно использует имя этого элемента — но в этом случае вы обращаетесь к свойству индексатора, поэтому нет способа получить из него имя.