如果白天和时间在if语句中相同,我想做点什么。我把这一天放下来,只是无法弄清楚时间的一部分。让我说我的时间是上午9点。
这是我到目前为止所拥有的
var dt_check_monday = DateTime.Now.DayOfWeek;
if (dt_check_monday == DayOfWeek.Monday && time_now = DateTime.Now.Hour==9)
{
//do something
}
我无法使用这个我收到错误:
运营商'&&'不能应用于'bool'和'System.TimeSpan'
类型的操作数
感谢您提前提供任何帮助。
答案 0 :(得分:1)
=是一项任务。 ==是'等于'
你的第二个=应该是==
答案 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
{{1}}的形式,这就是我从我的例子中删除变量的原因。
答案 2 :(得分:0)
如果要保留time_now供以后使用,则必须使用paracheses在if语句中包含赋值。
var dt_check_monday = DateTime.Now.DayOfWeek;
if (dt_check_monday == DayOfWeek.Monday && (time_now = DateTime.Now.Hour) == 9)
{
//do something
}
答案 3 :(得分:0)
我认为time_now
具有TimeSpan
数据类型。所以你可以试试这个
if (dt_check_monday == DayOfWeek.Monday && time_now.Hours == 9)
{
//do something
}