Почему бы это не сделать пока разрыв цикла? - PullRequest
1 голос
/ 02 февраля 2012

date[inc] = [0] = "01/01/2011"

dateTimePicker1.Value = {01/01/2011 00:00:00}

Условие if никогда не выполняется при смене вторичного указателя даты и времени.Первый DatetimePicker должен быть изменен один раз, прежде чем этот код будет работать.Этот код запускается ValueChanged в обоих случаях.

Любые идеи?

Редактировать:

int start;
int inc = 0;
while (true)
{
   inc++;
   if (Convert.ToString(dateTimePicker1.Value.ToShortDateString()) == date[inc])
   {
      start = inc;
      inc = 0;
      break;
   }  
}

= / =

int start;
int inc = 0;
while (true)
{
   if (Convert.ToString(dateTimePicker1.Value.ToShortDateString()) == date[inc])
   {
      start = inc;
      inc = 0;
      break;
   }  
   inc++;
}

Еще очень полезные комментарии, спасибо всем.Очевидно, что первая дата отсутствовала из-за приращения, что привело к бесконечному циклу.

Ответы [ 4 ]

1 голос
/ 02 февраля 2012

Попробуйте сравнить, как это

if (dateTimePicker1.Value.ToString("MM/dd/yyyy",
       new System.Globalization.CultureInfo("en-US") == date[inc])

ИЛИ

//Considering your date format is MM/dd/yyyy, coz 01/01/2011 doesn't help in uderstanding
//in date format, if it would have been 01/13/2011, it would have helped
if (dateTimePicker1.Value.Date == 
       DateTime.ParseExact(date[inc], "MM/dd/yyyy", 
           new System.Globalization.CultureInfo("en-US")).Date)

Также вы можете сделать .Trim() на date[inc], это может помочь вам.

РЕДАКТИРОВАТЬ

Когда вы сравниваете string вещей, которые нужно искать

  • Пробелы в начале и в конце.Удалите их, если необходимо, используя .Trim()
  • Чувствительность к регистру.Сделайте string.Equals(string1, string2, StringComparison.InvariantCultureIgnoreCase)

Надеюсь, это сработает для вас.

1 голос
/ 02 февраля 2012

Попробуйте:

if (dateTimePicker1.Value.ToString("MM/dd/yyyy") == date[inc])
// ...
1 голос
/ 02 февраля 2012

Вы проводите сравнение строк:

"01/01/2011" != "1/1/2011"
0 голосов
/ 02 февраля 2012

если строки никогда не равны, то нет условий, которые когда-либо могут возникнуть

...