Вот решение, в котором выполняется сравнение с целым словом в файле (разделенным пробелом).
- Загрузить данные файла в виде строки
- Разделить строку на массив строк, разделенных пробелами (пробел, новая строка, табуляция)
- Проверьте, является ли txtBxAccessKey.Text одним из элементов массива
Пожалуйста, отметьте несколько заметок, которые я сделал как комментарии к коду (правильная обработка ошибок, сравнение без учета регистра). Я также исправил сравнение пустых строк как более элегантное. Этот фрагмент использует Contains
-метод, найденный в System.Linq
-namespace.
using System.Linq;
private void btnLogin_Click(object sender, EventArgs e)
{
WebClient wc = new WebClient();
var fileContents = wc.DownloadString("http://LinkToTextFile.txt");
//Todo 1: Error handling, check for empty!
//Todo 2: Handle case in-sensitive comparison!
string[] lines = fileContents.Split(null);
if (string.IsNullOrEmpty(txtBxAccessKey.Text))
{
MessageBox.Show("Empty");
return;
}
else if (lines.Contains(txtBxAccessKey.Text))
{
this.Hide();
Loader frmLoader = new Loader();
frmLoader.ShowDialog();
}
else
{
MessageBox.Show("Access Key Not Found");
}
}