C# null空值dosent response

C# null空值dosent response,c#,C#,我有两个文本框,如果它们是空的,它会自动响应文本框中的“未知”,但它们仍然是空的,使用我编写的代码 private void btnSaveAddress_Click(object sender, EventArgs e) { if (!(string.IsNullOrEmpty(txtPhoneAddress.Text))) { txtPhoneAddress.Text = "Unknown"; }

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

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);
        }
    }
尝试使用

string.IsNullOrEmpty(txtPhoneAddress.Text)
而不是

!string.IsNullOrEmpty(txtPhoneAddress.Text)
否则,当文本框为


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

如果我理解正确,您正在检查与实际需要相反的内容。
检查文本框是否为空,如果为空,则将文本设置为未知。

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

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

您正在检查文本框是否为null或空。如果我理解正确,那么您的逻辑是错误的:
如果(!(string.IsNullOrEmpty(txtMailAddress.Text))
应该是
如果(string.IsNullOrEmpty(txtMailAddress.Text)==true)
哦,我会试试;)2.他成功了!谢谢,如果网站允许,我会在8分钟内将您的答案标记为答案!:)