运算符 <= 不能应用于字符串和字符串类型的操作数
本文关键字:字符串 类型 操作数 应用于 不能 运算符 | 更新日期: 2023-09-27 18:33:17
if (Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))).ToString("yyyyMMdd") <= "19000101")
{
dtpJoinDate.Text = "";
}
我不知道我的代码出了什么问题。它给出了错误.."运算符 <= 不能应用于字符串和字符串类型的操作数"
错误说明了所有事情。您正在将日期转换为字符串并检查它是否小于任何其他字符串。你能回答:如果"ABC"<="abc"
用:
DateTime dt = DateTime.ParseExact("19000101", "yyyyMMdd", CultureInfo.InvariantCulture);
if (Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))) <= dt)
{
dtpJoinDate.Text = "";
}
不能对
字符串使用<=
运算符。因为类不会重载String
运算符<=
。除运算符重载外,此运算符只能与数值类型和枚举类型一起使用。
我假设您尝试比较您的DateTime
值。如果是这样,您可以比较喜欢;
DateTime dt = new DateTime(1900, 1, 1);
if(Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))) <= dt)
{
dtpJoinDate.Text = "";
}
在测试之前,请尝试将字符串日期转换为日期时间、双精度或整数。
DateTime.Parse
可能有用