C# 如果字符串不存在,如何获取消息?

C# 如果字符串不存在,如何获取消息?,c#,string,C#,String,我正在尝试读取文本文件并删除用户输入的字符串。如果字符串不存在,我无法让它报告消息 到目前为止,我无法解释我所做的一切,这是很多事情。我知道在它目前的状态下,没有什么能给我带来我期望的结果,但我已经尝试了很多东西,这就是它目前的状态。对于那里的代码,它正在做我告诉它要做的一切 if (rButtonDelete.Checked) { bool isValid = txtID.Text.Length < 5; if (txtID

我正在尝试读取文本文件并删除用户输入的字符串。如果字符串不存在,我无法让它报告消息

到目前为止,我无法解释我所做的一切,这是很多事情。我知道在它目前的状态下,没有什么能给我带来我期望的结果,但我已经尝试了很多东西,这就是它目前的状态。对于那里的代码,它正在做我告诉它要做的一切

if (rButtonDelete.Checked)
        {
            bool isValid = txtID.Text.Length < 5;
            if (txtID.Text == "")
            {
                lbOne.Items.Add("You must enter a fixture to delete.");
            }
                else                    
            if(!isValid==false)
            {                    
                lbOne.Items.Add("Enter full fixture ID to delete.");
            }
            else                
            {
                var oldLines = System.IO.File.ReadAllLines(@"F:\09 Quality\CMM Fixtures\fixtures.txt");
                var newLines = oldLines.Where(lines => !lines.Contains(txtID.Text));
                System.IO.File.WriteAllLines(@"F:\09 Quality\CMM Fixtures\fixtures.txt", newLines);
                lbOne.Items.Add(txtID.Text + " was deleted.");
            }
        }
if(rbuttonelete.Checked)
{
bool isValid=txtID.Text.Length<5;
如果(txtID.Text==“”)
{
lbOne.Items.Add(“必须输入要删除的装置”);
}
其他的
如果(!isValid==false)
{                    
lbOne.Items.Add(“输入要删除的完整夹具ID”);
}
其他的
{
var oldLines=System.IO.File.ReadAllLines(@“F:\09 Quality\CMM Fixtures\Fixtures.txt”);
var newLines=oldLines.Where(lines=>!lines.Contains(txtID.Text));
System.IO.File.writeAllines(@“F:\09 Quality\CMM Fixtures\Fixtures.txt”,换行符);
lbOne.Items.Add(txtID.Text+“已删除”);
}
}
如上所述,由于它现在存在,它做了我告诉它做的一切。我只需要报告正在搜索的字符串不存在,如果in不存在。无论我在文本框中键入什么,它都会告诉我它已被删除,即使它不存在。

这样如何:

if (oldLines.Count() == newLines.Count())
{
    lbOne.Items.Add(txtID.Text + " does not exist.");
}
else
{
    lbOne.Items.Add(txtID.Text + " was deleted.");
}

旁注:您确实发现
if(!isValid==false)
if(isValid)
?if(!isValid==false)?
if(!isValid==false)
。。这是故意的吗?双重否定并不难理解,但会起作用。但也将枚举
旧行。其中(…)
两次。根据数据量的不同,可能值得改进。@KlausGütter是真的,但只有在需要非常大的文件时才需要考虑。@JohnathanBarclay当然,因此我说“根据数据量”,这将非常小,可能是1000-1200行。目前只有350条线路。花了30年的时间才变得这么大!这就是为什么我没有使用数据库。有没有办法,在附加这个文件后,选择它重写的顺序?也就是说,如果我喜欢按时间顺序排列,或者是按照固定装置编号,或者是按照它所在的机架?目前它只是按照他们输入的顺序。