首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

对集合进行筛选,是或的关系怎么办

2012-01-15 
对集合进行筛选,是或的关系怎么处理对集合进行多次Where,他们是and的关系,要想实现or的关系,就要在一行里

对集合进行筛选,是或的关系怎么处理
对集合进行多次Where,他们是and的关系,要想实现or的关系,就要在一行里写完,如果在多行里写,有什么简单的技巧么?
我知道 a or b 等于not( not a and not b)不过这样要对整个条件not一下,实现似乎比较麻烦,我写不出来。


[解决办法]
支持下,关注中!
[解决办法]
不知所云。。。。
[解决办法]
.where(tb=>(id>0?表达式1:表达式2)) 其中表达式1 或 2根据需要其中一个用为真


[解决办法]
嵌套实现
LINQ


[解决办法]

[解决办法]
可以使用Union变通的实现:
例如:

C# code
List<Employee> employee = new List<Employee>{                new Employee{ID = 1,Name = "aaa",City = "x",Address = "ding",Value =100},                 new Employee{ID = 2,Name = "bbb",City = "y",Address = "dang",Value =200},                  new Employee{ID = 3,Name = "ccc",City = "z",Address = "kacha",Value =300},            new Employee{ID = 4,Name = "ddd",City = "y",Address = "wag",Value =200},                  new Employee{ID = 5,Name = "eee",City = "z",Address = "ping",Value =300}            };            var query = employee.Where(x=> x.Address.StartsWith("d") || x.Value == 300);            var query1 = employee.Where(x => x.Address.StartsWith("d")).Union(employee.Where(x => x.Value == 300));                   foreach (var q in query)            {                Console.Write(q.Name.ToString() + "\r\n");            }            Console.WriteLine("-----------");            foreach (var q in query1)            {                Console.Write(q.Name.ToString() + "\r\n");            }
[解决办法]
不明白啥意思
[解决办法]
http://topic.csdn.net/u/20080912/10/2CBCF3AF-9AD7-42D4-BD16-2EA9B6E189AF.html

热点排行