operator< =不能应用于string和string类型的操作数

时间:2014-12-06 11:15:17

标签: c# string datetime

if (Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))).ToString("yyyyMMdd") <= "19000101")
{
    dtpJoinDate.Text = "";
}

我不知道我的代码有什么问题.. 它给出了错误,即“运算符&lt; =不能应用于字符串和字符串类型的操作数”

3 个答案:

答案 0 :(得分:2)

错误说明了每一件事。 您正在将日期转换为字符串并检查它是否小于任何其他字符串。 你能回答:IF“ABC”&lt; =“abc”

使用:

DateTime dt = DateTime.ParseExact("19000101", "yyyyMMdd", CultureInfo.InvariantCulture);
if (Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))) <= dt)
{
    dtpJoinDate.Text = "";
}

答案 1 :(得分:1)

您不能将<= operator与字符串一起使用。因为String类没有超载<=运算符。除运算符重载外,此运算符可用于数字类型和枚举类型

我假设您尝试比较您的DateTime值。如果是这样,你可以比较像;

DateTime dt = new DateTime(1900, 1, 1);
if(Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))) <= dt)
{
     dtpJoinDate.Text = "";
}

答案 2 :(得分:0)

尝试在测试之前将字符串日期转换为datetime,double或int。

DateTime.Parse 

可能有用