Как построить словарь (KeyValuePair) в графике (zedgraph) в C # - PullRequest
0 голосов
/ 16 октября 2019

У меня есть словарь с парой ключей и значений. Мне нужно создать линейный график на zedGraph, нанести ключ на ось X и значение на оси Y. Я использую Visual Studio 2017.

Ключ имеет тип DateTime. Значение является строковым типом.

Я думал о создании двух массивов, массива оси X и массива оси Y.

Есть ли другие / более быстрые / более оптимальные предложения?

Я уже пытался преобразовать значения DateTime в тики, но я не могу создать цикл для их печати. Это дает мне ошибку:

void addGraph(List<KeyValuePair<DateTime, string>> dataDic)
        {
            DateTime DT = new DateTime();


            long TimeTicks = DT.Ticks;


            foreach (var element in TimeTicks)
            {
                Console.WriteLine(element);
            }

Ожидание: вывод всех значений в переменной / массиве TimeTicks.

Реальность / ошибка: Код серьезности Описание Файл состояния проекта Подавление строки Ошибка Ошибка CS1579 foreach операторне может работать с переменными типа 'long', так как 'long' не содержит общедоступного определения для 'GetEnumerator' TCD_Interface C: \ Users \ Z0044MTW \ Desktop \ TCD_Interface \ TCD_Interface \ Plant_OV.cs 156 Active

1 Ответ

0 голосов
/ 16 октября 2019

Вы не можете перечислять - использовать в качестве источника в цикле foreach - что-то, что не является коллекцией (или очень похоже на коллекцию).

A long - это единственное значение, а не коллекция, поэтому не может быть перечислено.

Вам нужно перебирать набор точек, которые вы хотите построить, а не значения координат этих точек.

(Независимо от того, извлечены ли отдельные массивы из базовогоСловарь имеет смысл, зависит от деталей библиотеки графов.)

...