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

4个回答

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~~~

立即提问
相关内容推荐