這裏是你可以嘗試https://dotnetfiddle.net/的工作代碼。
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public class Login
{
public string userName { get; set; }
public string userPass { get; set; }
}
static List<KeyValuePair<string, string>> users = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("dennis", "pass"),
new KeyValuePair<string, string>("kap", "111111")
};
public static void Main()
{
Login testLogin = new Login();
testLogin.userName = "dennis";
testLogin.userPass = "pass";
bool isValidUser = users.Any(user => user.Key == testLogin.userName && user.Value == testLogin.userPass);
Console.WriteLine(isValidUser);
}
}
作爲一個便箋,對我來說,使用用戶名和密碼字段的'LoginInformation'對象會更直觀。另外,我假設你明白你在做什麼是絕對不安全的。密碼必須經過散列和醃製。
編輯:這是檢查代碼移出到它自己的方法:
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public class Login
{
public string userName { get; set; }
public string userPass { get; set; }
public bool isUserNameValid(string userName, string userPass, List< KeyValuePair<string, string> > validUsers)
{
return validUsers.Any(user => user.Key == userName && user.Value == userPass);
}
}
static List<KeyValuePair<string, string>> users = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("dennis", "pass"),
new KeyValuePair<string, string>("kap", "111111")
};
public static void Main()
{ Login login = new Login();
bool isValidUser = login.isUserNameValid("dennis", "pass", users);
Console.WriteLine(isValidUser);
}
}
來源
2016-11-30 17:10:17
VSO
這豈不是更容易使用'詞典<字符串,字符串>'?然後你可以用'users.Add(「dennis」,「pass」)添加到詞典中;' –
'Dictionary'可能比使用鍵值對更容易。 Dictionary提供了一個'.ContainsKey'方法以及通過鍵索引。 –
@AlfieGoodacre我正在學習,謝謝 – tanyaa