linq多条件查询方法 电脑版发表于:2020/4/23 20:44 其实就是利用or,and的小技巧而已,直接贴代码吧 ``` var result = from query in userInfos where (string.IsNullOrEmpty(username) || query.UserName.Contains(username)) && (string.IsNullOrEmpty(contry) || query.Area.Contains(contry)) select query; // true || false --> true false || true -->true true || true-->true 或者其中一个为真结果为真 // 用户名和国家都为空的情况 ture & true --> ture 所以就会查询全部 // 用户名为空,国家不为空 true & (false|| query.Area.Contains(contry))-->就是看国家这个条件成不成立,所以就变成了只根据国家查询 // 用户不为空,国家为空 (false||query.UserName.Contains(username)) && true -->就变成了只看query.UserName.Contains(username)成不成立 /* 用户名不为空,国家不为空 (false||query.UserName.Contains(username))&&(false||query.Area.Contains(contry)) * 简化后-->query.UserName.Contains(username) && query.Area.Contains(contry) 也就是两个条件必须都满足 */ ``` 在内存中这样操作还是可以的