【发布时间】:2017-10-22 10:29:12
【问题描述】:
我有 (1,2,3),我想在我的表中插入:
1-2
2-3
但我想排除 2-1 和 3-2。
有什么帮助吗?
【问题讨论】:
-
为什么要插入1-2和2-3?是因为它们相邻吗?如果列表是 (1,2,4,5,8) - 那你想插入什么?
-
坦克的 Dimitri.. 非常好.. br Max
我有 (1,2,3),我想在我的表中插入:
1-2
2-3
但我想排除 2-1 和 3-2。
有什么帮助吗?
【问题讨论】:
首先获取项目的笛卡尔积。然后排除差异大于 1 且第一个数字 >= 第二个数字的那些。像这样:
List<int> list = new List<int>(){1, 2, 3};
var result = from n1 in list
from n2 in list
select new {n1, n2};
result = result.Where(n=> (n.n1 < n.n2) && (n.n2 - n.n1 == 1)).ToList();
这会给你你想要的:
【讨论】:
1,2,3,结果应该只有1,2 和2,3。这就是代码给出的,我正在等待操作添加更多信息。