2013-04-08 2 views
0

Я хочу что-то сделать, если день и время суток равны true в выражении if. У меня есть часть дня, просто не могу понять, какая часть времени. Позвольте сказать, что я хочу, чтобы время было 9 утра.день недели и час дня в выражении if C#

Вот то, что я до сих пор

var dt_check_monday = DateTime.Now.DayOfWeek; 
if (dt_check_monday == DayOfWeek.Monday && time_now = DateTime.Now.Hour==9) 
{ 
//do something 
} 

Я не могу использовать это я получаю сообщение об ошибке:

Operator '&&' cannot be applied to operands of type 'bool' and 'System.TimeSpan'

Спасибо за любую помощь заранее.

+2

Что вы хотите делать с помощью timepan 'time_now'? –

+0

Примечание: этот код не будет компилироваться, 'time_now' не объявлен. – Clint

+0

@Clint Ошибка компиляции, которую мы видим, указывает, что 'time_now' объявлен _somewhere_ и имеет тип' System.TimeSpan'. Выражение интерпретируется следующим образом компилятором: 'if (((dt_check_monday == DayOfWeek.Monday) && time_now) = (DateTime.Now.Hour == 9))' –

ответ

0

Я думаю, что time_now оказывает TimeSpan тип данных. Таким образом, вы можете попробовать это

if (dt_check_monday == DayOfWeek.Monday && time_now.Hours == 9) 
{ 
    //do something 
} 
+0

Спасибо Sachin, что сработало. – nate

1

= - задание. == это «равно»

Ваш второй = должен быть ==

1

Вы просто должны это сделать:

if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour == 9) 
{ 

} 

Ваш код имеет отнесение к необъявленной переменной time_now и вы выполняя задание time_now =, что и приводит к его сбою.

Вы должны также рассмотреть вопрос о пересмотре, как вы называете ваши переменные, dt_check_monday абсолютно ничего не значит, если значение внутри него DayOfWeek.Wednesday, рассмотреть вопрос об изменении его на что-то вроде dt_currentDayOfWeek но уже существует в виде DateTime.Now.DayOfWeek, поэтому я бросил переменную из моего примера.

+0

Мне нравится этот способ намного лучше ... Спасибо – nate

0

Если вы хотите сохранить time_now для последующего использования, вы должны заключить это назначение в if-statement с парамехами.

var dt_check_monday = DateTime.Now.DayOfWeek; 
if (dt_check_monday == DayOfWeek.Monday && (time_now = DateTime.Now.Hour) == 9) 
{ 
    //do something 
} 
Смежные вопросы