Arhn - архитектура программирования

Группировка данных с использованием Linq и VB .NET

Я здесь совершенно запутался, но я пытаюсь получить статистику из DataTable. Один из столбцов в таблице данных называется «цвет».

Мне нужно выяснить, сколько каждого экземпляра «цвета» находится в таблице данных.

Я стараюсь:

Dim q = From p In PGWorkingDataTable _
            Group p By p("colour") Into Group _
            Select Group

Но я получаю ошибку компилятора во время разработки: «Имя переменной диапазона может быть выведено только из простого или полного имени без аргументов» в разделе p («цвет»).

Мне нужно серьезное руководство здесь. Спасибо за вашу помощь.

Джо


Ответы:


1

Вам нужно указать имя для группового ключа:

From p In new DataTable() _
Group p By Color = p("colour") Into Group _
Select Group
25.05.2011
  • Первоначально у меня была ошибка завершения кода в этом фрагменте, но теперь он, похоже, отлично компилируется! Спасибо!! 27.05.2011

  • 2

    Писать LINQ на VB.NET никому не нравится. Попробуйте что-то вроде следующего:

    Dim q = From p In PGWorkingDataTable _
            Group By colour = p("colour") _
            Into colourCount = Count(p("colour")) _
            Select colour, colourCount
    
    25.05.2011
  • Я продолжаю получать эту ошибку: преобразование из светло-серого в логическое значение недопустимо. Светло-серый, конечно, является одним из значений в столбце цвета моей таблицы данных. Любые дополнительные указатели? 27.05.2011
  • В основном мне нужно взять эти результаты и нанести их на элемент управления диаграммой winforms. Итак, является ли переменная q теперь сама по себе доступной для данных? Или что-то, что я могу привязать к элементу управления диаграммой? Благодарю вас! 27.05.2011
  • Можете ли вы использовать LINQPad, чтобы увидеть, каковы на самом деле результаты? Вы должны получить IEnumerable анонимного типа, содержащий каждый цвет (цвет) и количество раз, которое он встречается (colorCount). Я предоставил его только в этом синтаксисе, потому что вы использовали его в вопросе. Если вам нужны сами DataRows, вы можете использовать ответ @SLaks; Я просто подумал, что тебе нужны эти данные. Если вы хотите, эта последняя строка может читаться как Select New KeyValuePair(colour, colourCount), и вы можете объявить q как IEnumerable из KeyValuePairs (или как вы хотите сохранить данные). 27.05.2011
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..