如何从c#中的文件中读取特定字符串?
我正在开发一个项目,在这个项目中,我需要从文本文件中读取一个特定的名称,并将其与文本框值匹配,如果它将匹配,则显示一条消息,否则将执行其他一些工作 它包含名称,如果它与文本框值匹配,则显示成功消息,否则显示失败消息 这是我的代码,在这段代码中它读取了所有的文本,而不是一个特定的文本。 如果找到字符串,则不需要移动到下一个要读取的单词 我的结果总是不我不知道为什么如何从c#中的文件中读取特定字符串?,c#,C#,我正在开发一个项目,在这个项目中,我需要从文本文件中读取一个特定的名称,并将其与文本框值匹配,如果它将匹配,则显示一条消息,否则将执行其他一些工作 它包含名称,如果它与文本框值匹配,则显示成功消息,否则显示失败消息 这是我的代码,在这段代码中它读取了所有的文本,而不是一个特定的文本。 如果找到字符串,则不需要移动到下一个要读取的单词 我的结果总是不我不知道为什么 private async void button2_Click(object sender, EventArgs e) {
private async void button2_Click(object sender, EventArgs e)
{
using (OpenFileDialog ofd =new OpenFileDialog(){ Filter = "Text Documents|*.txt", Multiselect=false, ValidateNames = true})
{
if(ofd.ShowDialog()==DialogResult.OK)
{
using (StreamReader sr = new StreamReader(ofd.FileName))
{
if(textBox1.Text == await sr.ReadLineAsync())
{
MessageBox.Show("ok");
}
else
{
MessageBox.Show("no");
}
}
}
}
试着两边都修剪一下,或者把它们做成小写, 像
如果答案总是否定的,那么字符串就不一样了。你调试过这个吗?一行一行地穿过它?检查值,包括空格,例如新行字符?为什么要使用StreamReader而不是File.ReadAllText?在我的例子中没有新行,它只会在一行中添加文本。没有字符串总是相同的,你可以说它是复制粘贴的,没有我没有调试它。当我编写语音程序时,会发生同样的事情,发现两者都必须具有相同的大小写。例如一棵又一棵。即使是同一个词,一个是大写,另一个是小写。两者必须是相同的外壳。除非你打电话给ToLower();
if(textBox1.Text.Trim().ToLower() == await sr.ReadLineAsync().Trim().ToLower())
{
}