Этот код будет сравнивать usernames и пароли, которые хранятся в текстовом файле. Я думаю, что это из-за цикла for, это, вероятно, просто, но я не могу его видеть.не все пути кода возвращают значение, для цикла
public int loginCheck()
{
//-----------------------------------------------------------------
string[] users = File.ReadLines("Username_Passwords").ToArray();
//line of text file added to array
//-----------------------------------------------------------------
for (int i = 0; i < users.Length; i++)
{
string[] usernameAndPassword = users[i].Split('_');
//usernames and passwords separated by '_' in file, split into two strings
if (_username == usernameAndPassword[0] && _password == usernameAndPassword[1])
{
return 1;
//return 1, could have used bool
}
else
{
return 0;
}
}
Удалить инструкцию else. Если все будет в порядке, оно вернет 1 и остановит цикл. Если нет, программа выходит из цикла и возвращает 0. – MKasprzyk
На самом деле это не отвечает на ваш вопрос, поэтому я не хочу публиковать ответ, но вы можете использовать этот метод с помощью LINQ. public int loginCheck() => File.ReadLines («Username_Passwords»). Выберите (x => x.Split ('_')). Где (x => x.Length == 2) .Any (x => _username == x [0] && _password == x [1])? 1: 0; Я также предлагаю вернуть bool, потому что мы не используем C++. (Изменить: я вижу, что кто-то сказал то же самое.) – Licht