如何利用lambda来比较列表中的数据?

时间:2016-12-17 22:43:19

标签: c# list lambda compare

我正在为这个应用程序创建一个登录系统,但后来我不知道如何检查用户输入的用户名和密码是否真的在列表中。

我确实试过这样的事情,但没有帮助:

private bool CheckUsername(string username)
        {
            try
            {
                list.Find(x => x.username == username);
                return true;
            }
            catch (ArgumentNullException ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }
        }

可能有一些非常简单的方法,我不知道也找不到,谢谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下内容:

private bool CheckUsername(string username)
{
    return list.Contains(username);
}

有关Contains方法的信息,请查看here

答案 1 :(得分:1)

您可以使用Any()LINQ扩展方法:

private bool CheckUsername(string username)
{
    try
    {
        return list.Any(x => x.username == username);
    }
    catch (ArgumentNullException ex)
    {
        MessageBox.Show(ex.Message);
        return false;
    }
}

它将在第一场比赛时返回。