c#中条件语句的问题

本文关键字:问题 语句 条件 | 更新日期: 2023-09-27 18:08:40

if (txt_SendAt.Text != null)
{
    //string SendAt_date = txt_Respondby.Text;
    DateTime Send_date = Convert.ToDateTime(txt_SendAt.Text);
    param[15] = new MySqlParameter("@SendDate", MySqlDbType.DateTime);
    param[15].Value = Send_date;
    command.Parameters.AddWithValue("@SendDate", Send_date);     
}
else
{
    param[15] = new MySqlParameter("@SendDate", MySqlDbType.DateTime);
    param[15].Value = now;
    command.Parameters.AddWithValue("@SendDate", now);
}

我有一个文本框,我从日历中选择日期和时间。当我将文本框保留为空时,它应该执行else条件下的语句,但它执行if条件下的语句。我哪里错了

我得到这个错误,如果我留下空白字符串不被识别为有效的日期时间。

c#中条件语句的问题

您正在测试文本框本身是否为空,而不是它的text:

if (string.IsNullOrEmpty(txt_SendAt.Text) == false)

使用String.IsNullOrWhitespace(txt_SendAt.Text)代替null。

您正在检查控制是否为null。它不会是null;查看文本框中的"Text"属性是否有值。因此,如果您使用IsNullOrEmptyIsNullOrWhitespace,您将进行双重检查-如果控件的属性为null(不太可能)或如果它只是空白(或空格)。

尝试:

if (!string.IsNullOrEmpty(txt_SendAt.Text))

txt_SendAt指文本框控件。你想要txt_SendAt。文本

您应该尝试将if更改为

if ((txt_SendAt.Text != null)||(txt_SendAt.Text.Trim() != ""))