C# 为什么我的循环返回0而不是循环值?

C# 为什么我的循环返回0而不是循环值?,c#,C#,我正试图从文本文件中的数组中获取行数。这样我就可以替换字符串并重写文件。经过几次尝试,代码没有错误,但无法运行。当我尝试验证错误时,我将一个标签设置为返回值,以查看它是否返回任何内容。结果只是显示为零。我确信我的返回回路有问题 account.txt seow 1111 wen 12345 20 50 user 1234 user1 12345 70 80 代码 在数组中不返回任何行值,只返回一个零值,问题出在循环内部。 这条线永远不会起作用 if (filelist.Contains(

我正试图从文本文件中的数组中获取
行数
。这样我就可以替换字符串并重写文件。经过几次尝试,代码没有错误,但无法运行。当我尝试验证错误时,我将一个标签设置为返回值,以查看它是否返回任何内容。结果只是显示为零。我确信我的返回回路有问题

account.txt

seow 1111 wen 12345 20 50  
user 1234 user1 12345 70 80
代码


在数组中不返回任何行值,只返回一个零值,问题出在循环内部。 这条线永远不会起作用

 if (filelist.Contains(username))
如果您的输入为“Seow”,且数组包含“Seow 1111 wen 12345 20 50”
对字符串数组调用Contains将检查每个条目是否与您的输入完全匹配,当然您没有完全匹配。
但这里的解决方法很简单

filelist[i] = sr.ReadLine();
if (filelist[i].Contains(username))

现在我们调用字符串上的Contains,这将是一个部分匹配,因此将找到该行

阅读调试代码的提示。您在哪里声明LineNo变量以及如何初始化它?如果其值为零,则不执行任何循环,您将获得行(另一个未知变量)的默认值。请提供带有随机数据的“account.txt”示例please@SteveLineNo变量声明为私有静态int只读LineNo=1000;请出示并张贴一份电子邮件,以便我们能够帮助您。如果
row
为0,那么要么您看到的是默认值,要么找到的行实际上是0。哇,我不敢相信这只是一个我没有注意到的简单错误,多谢了,它现在可以工作了
 if (filelist.Contains(username))
filelist[i] = sr.ReadLine();
if (filelist[i].Contains(username))