选择和匹配数据从列表中使用 LINQ C#

发布时间: 2017/2/25 13:14:04
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我在列表中,有数据,我想要登录,如果与任何记录的数据相匹配。

public HttpResponseMessage Post(form model)
        {
            List<form> user = new List<form>();
            user.Add(new form { username = "admin", password = "admin" });
            user.Add(new form { username = "Gopal", password = "123" });
            user.Add(new form { username = "niit", password = "niit" });

            if (model.username == user.Select(p => p.username.Equals(model.username))
            {

            }
        }

我想要喜欢这个 — — (做与硬编码数据)

        if (model.username == "admin" && model.password == "admin")
        {
            return Request.CreateResponse(HttpStatusCode.Accepted);
        }
        else { return Request.CreateResponse(HttpStatusCode.InternalServerError); }

这是我的模型类-形式

 public class form
    {
        [Required]
        public string username { get; set; }
        [Required]  
        public string password { get; set; }
    }

我之所以这样做,硬编码的数据,但要处理列表。请你帮帮我这。如何能做到?

解决方法 1:

尝试这种方式

 if (user.Where(a => a.username == model.username && a.password == model.password).Select(p => p).Count() != 0)
    {
        return Request.CreateResponse(HttpStatusCode.Accepted);
    }
    else 
    { 
       return Request.CreateResponse(HttpStatusCode.InternalServerError);
    }

或者你可以简单地使用any

 if (user.Any( a => a.username.Contains(model.username) && a.password.Contains(model.password)))
   {
       return Request.CreateResponse(HttpStatusCode.Accepted);
   }
   else 
   { 
      return Request.CreateResponse(HttpStatusCode.InternalServerError);
   }
官方微信
官方QQ群
31647020