我编写了一个代码来打开我的文件并读取它并检查它是否包含特定的用户名和密码。但是它不工作。
方法总是返回false,我不知道为什么。
我的想法是让我的代码读取每一行,并将每行拆分为数组中的3个字符串,然后验证每个字符串是否有用户名或密码。如果只找到一个,则转到另一行,如果在同一行找到两个,则将
断行。public bool readFile(string username, string password, string path)
{
int cntr = 0;
string[] lines = File.ReadAllLines(path);
foreach (string line in lines)
{
cntr = 0;
string[] words = line.Split('-');
foreach (string element in words)
{
if (element == username || element == password)
cntr++;
}
if (cntr == 2)
break;
}
return cntr == 2? true : false;
}
我试过了,我不知道为什么它不工作,因为我使用接口和不同的类,所以我很难用消息框调试它
编辑:我通过调试发现,由于某种原因,lines总是为空。任何帮助吗?
string[] words = line.Split();
将用空格分隔行,而您看到的是用破折号'-'分隔行。它可能每次都返回false,因为line从来没有被分割成一个数组,所以数组从来没有被搜索过,所以cnr从来没有达到2。