NullOrEmpty值剂量响应

时间:2018-10-25 09:56:21

标签: c#

我有2个文本框,如果它们为空,它会自动在文本框中响应“未知”,但是用我编写的这段代码它们仍然为空

private void btnSaveAddress_Click(object sender, EventArgs e)
    {
        if (!(string.IsNullOrEmpty(txtPhoneAddress.Text)))
        {
            txtPhoneAddress.Text = "Unknown";
        }


        if (!(string.IsNullOrEmpty(txtMailAddress.Text)))
        {
            txtMailAddress.Text = "Unknown";
        }

        try
        {
            addressesBindingSource.EndEdit();
            addressesTableAdapter.Update(this.appData14.Addresses);
        }
        catch (Exception ex)
        {
            MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            addressesBindingSource.ResetBindings(false);
        }
    }

3 个答案:

答案 0 :(得分:1)

尝试使用

string.IsNullOrEmpty(txtPhoneAddress.Text)

代替

!string.IsNullOrEmpty(txtPhoneAddress.Text)

否则,当文本框为emptynull时,您将不会填充数据

string.IsNullOrEmpty将在arg字符串为true或为空时返回null

答案 1 :(得分:0)

如果我对您的理解正确,那么您正在检查的是与您实际想要的相反的东西。 如果是这种情况,则检查文本框是否为空。

答案 2 :(得分:0)

TextBox控件的Text属性不能为null。只有它可以为空(“”)。但是您应该在检查Textbox是否为空之前进行修剪。

if(txtPhoneAddress.Text.Trim() == ""){
      txtPhoneAddress.Text = "Unknown";
}