1

嗨,我希望从表中获取元素,其中我感兴趣的元素取决于用户选择的许多变量,这些变量包括单选按钮下拉列表和选择列表。每个变量将决定我想要从表中获得哪些 Id。

我需要能够忽略不相交或为空的变量。

这是一个例子

Set A = {1,2,3,4,5}
Set B = {2,5,6,7,8}
Set C = {Cat, Dog}

A 路口 B 路口 C == {}

但我需要答案 {2, 5}

有没有办法在不使用条件语句的情况下从这些集合中得到这个?我有很多变量,如果可能的话,我想在一个声明中做到这一点。

谢谢

4

2 回答 2

0

你会想要这样的东西:

var results =
  from x in X
  from y in Y
  where x == y || X.All(item => !Y.Contain(item))
  select x;

基本思想是:如果存在任何交集,则包括交集;如果不存在交集,则包括所有项目。

于 2013-07-22T20:46:02.290 回答
0

我通过获取我需要的每个表的不同元素作为列表来完成这项工作。

接下来我创建了一个类型的字典列表

每次找到一个新对象时,我都会单独浏览每个列表,然后将其添加到字典中。如果对象已经存在,我增加了该对象的计数值。

之后,我在字典中找到了最高值 int Max。

然后我从字典中选择计数匹配 Max 的对象。

我本来想做一些更清洁的事情,但是嘿,它有效。这对我来说很好,我只是在开发一个原型。

于 2013-07-27T12:45:39.283 回答