问题描述
- link如何实现N选1?请大家帮助我
-
比如n=3
list1=1 2
list2=3 4
list3=5 6
结果
1 3 5
2 3 5
1 4 5
2 4 5
1 3 6
2 3 6
1 4 6
2 4 6
解决方案
var query = lists[0].Select(x => new int[] { x });
for (int i= 1; i < lists.Count; i++)
{
query = lists.SelectMany(x => query.Select(y => y.Concat(new int[] { x })))
}
解决方案二:
var list = new List<List<int>>()
{
new List<int>() { 1,2 },
new List<int>() { 3,4 },
new List<int>() { 5,6 },
};
var query= list.Aggregate(new string[] {""},(r,s)=>(from a in r from b in s select a+" "+b).ToArray());
query.ToList().ForEach(p => Console.WriteLine(p));
解决方案三:
结果:
1 3 5
1 3 6
1 4 5
1 4 6
2 3 5
2 3 6
2 4 5
2 4 6
解决方案四:
LINQ
,语言集成查询(Language Integrated Query)是一组用于c#
和Visual Basic
语言的扩展。它允许编写C#
或者Visual Basic
代码以查询数据库相同的方式操作内存数据。
楼主,你能不能不要这么任性的一直将 LINQ
拼成 link
~~~
时间: 2024-10-31 20:21:51