尝试将 DateTime 转换为 int
Trying to convert DateTime into int
所以我一直在尝试在同一个 if 语句中同时使用日期时间和 int。
我的代码是这样的:
public int wantedHours, wantedMinutes;
public int sysHour = System.DateTime.Now.Hour;
public int sysMinutes = System.DateTime.Now.Minute;
void Update()
{
if (sysHour == wantedHours && sysMinutes == sysMinutes)
{
sendTheNotif == true;
} else
{
sendTheNotif == false;
}
}
但它不起作用。统一给我这个错误:
error CS0201: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
整数设置正确。
您在抛出错误的 if 语句中使用了相等运算符
建议阅读 microsoft doc
试试这个
(请注意,您正在 if 语句中检查 sysMinutes == sysMinutes 之间的相等性,这是您想要做的吗?)
public int wantedHours, wantedMinutes;
public int sysHour = System.DateTime.Now.Hour;
public int sysMinutes = System.DateTime.Now.Minute;
void Update()
{
if (sysHour == wantedHours && sysMinutes == sysMinutes)
{
sendTheNotif = true;
} else
{
sendTheNotif = false;
}
}
在您的代码中,您没有为 wantedHours 和 wantedMinutes 赋值。
如果在比较之前无法在代码中更改其值,则 sysMinutes 将始终等于 sysMinutes。
if (sysHour == wantedHours && sysMinutes == sysMinutes)
是主要问题。当您使用 == 比较变量时,这意味着如果它在类型和值上相等,则它应该评估为真。
所以 wantedHours 没有根据上面的代码块分配任何值。
并且 sysMinutes 始终等于 sysMinutes。
你必须改用 wantedTime
var sysTime = System.DateTime.Now;
If( (int)wantedTime.Subtract(sysTime).TotalMinutes ==0) sendTheNotif = true;
else sendTheNotif = false;
所以我一直在尝试在同一个 if 语句中同时使用日期时间和 int。 我的代码是这样的:
public int wantedHours, wantedMinutes;
public int sysHour = System.DateTime.Now.Hour;
public int sysMinutes = System.DateTime.Now.Minute;
void Update()
{
if (sysHour == wantedHours && sysMinutes == sysMinutes)
{
sendTheNotif == true;
} else
{
sendTheNotif == false;
}
}
但它不起作用。统一给我这个错误:
error CS0201: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
整数设置正确。 您在抛出错误的 if 语句中使用了相等运算符 建议阅读 microsoft doc
试试这个
(请注意,您正在 if 语句中检查 sysMinutes == sysMinutes 之间的相等性,这是您想要做的吗?)
public int wantedHours, wantedMinutes;
public int sysHour = System.DateTime.Now.Hour;
public int sysMinutes = System.DateTime.Now.Minute;
void Update()
{
if (sysHour == wantedHours && sysMinutes == sysMinutes)
{
sendTheNotif = true;
} else
{
sendTheNotif = false;
}
}
在您的代码中,您没有为 wantedHours 和 wantedMinutes 赋值。 如果在比较之前无法在代码中更改其值,则 sysMinutes 将始终等于 sysMinutes。
if (sysHour == wantedHours && sysMinutes == sysMinutes)
是主要问题。当您使用 == 比较变量时,这意味着如果它在类型和值上相等,则它应该评估为真。 所以 wantedHours 没有根据上面的代码块分配任何值。 并且 sysMinutes 始终等于 sysMinutes。
你必须改用 wantedTime
var sysTime = System.DateTime.Now;
If( (int)wantedTime.Subtract(sysTime).TotalMinutes ==0) sendTheNotif = true;
else sendTheNotif = false;