У меня есть цикл for, используя DateTime
, я пытаюсь добавить точки к диаграмме, суммируя данные; Однако, при выполнении цикла я получаю эту ошибку:Как преобразовать DateTime в Int, он читает 'Недопустимый литой от' DateTime 'до' Int32 '?
InvalidCastException was unhandled: Invalid cast from 'DateTime' to 'Int32'.
Вот код в цикл Я пытаюсь:
List<Series> dataSeries = chartDailyCost.Series.ToList();
for (DateTime i = Convert.ToDateTime("00:00");
i <= (Convert.ToDateTime("23:45"));
i = i.AddMinutes(15))
{
double sum = 0d;
//for every series in the chart collection sum the yvalues at the specified
foreach (Series s in dataSeries)
{
//This is the line I am getting the error for
sum += s.Points[Convert.ToInt32(i)].YValues[0];
}
DataPoint dp = new DataPoint();
//Add a new yvalue to the datapoint for the summed series's
//And I will get an error in this one as well
dp.XValue = dataSeries[0].Points[Convert.ToInt32(i)].XValue;
dp.YValues[0] = sum;
sumSeries.Points.Add(dp);
}
Позвольте мне знать, что вы ожидаете, что целое значение «23:45» (как DateTime) – Steve
http://stackoverflow.com/questions/5788883/how-can-i-convert-a -datetime-to-an-int взгляните на это. Я не знаю, так ли это. – KooKoo
Вопрос в том, как индексируется ваш массив точек. Это с 15-минутным шагом? Тогда я бы использовал int для i с 1 шагом в течение каждых 15 минут. Или это секунды? минут? часы? В структуре DateTime есть аксессоры для всех видов данных. – azt