标签: c#
如果我有
var numbers = new List<string> { "1", "2", "2", "3", "3"};
我想从数字(上面)
[["1","2","3"],["2","3"]]
每个数组都有不同的值,所以我会得到2个数组
更多示例: 新清单{“1”,“2”,“3”,“3”,}至[[“1”,“2”,“3”],[“3”]]
规则: 一个数组或列表中的不同值
有人可以建议如何轻松地做到这一点吗?谢谢!
答案 0 :(得分:0)
这对我有用:
var numbers = new List<string> { "1", "2", "2", "3", "3"}; var lookup = numbers.ToLookup(n => n); var results = Enumerable .Range(0, numbers.Count()) .Select(n => lookup .SelectMany(l => l.Skip(n).Take(1)) .ToList()) .Where(xs => xs.Any()) .ToList();
我明白了: