单个列表需要在c#记录中交叉连接 [英] Single list need cross join in c# records

查看:70
本文介绍了单个列表需要在c#记录中交叉连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 1 列表的记录列表中有一些我需要合并的记录子列表,两个列表记录<在通用列表中的span class =code-keyword>。 


任何人帮助我....



示例

LIST 1 A1,A2,A3,A4 LIST 2 B1,B2,B3,B4

需要输出如
A1 B1
A1 B2
A1 B3
A1 B4
A2 b1
A2 B2






就像我需要的那样







我尝试过:



  foreach (GroupRouting objGroupRouting  in  objlstGroupRouting)
{
foreach (OutwardRouting objOutwardRouting in objGroupRouting.Outward)
{
objlstOutwardRouting.Add(objOutwardRouting);
}
}
objlstOutwardRouting = objlstOutwardRouting.Union(objlstOutwardRouting).ToList();

解决方案

似乎你想要执行交叉连接操作。

检查:



 List< string> l1 =  new 列表< string>(){  A1   A2  A3  A4}; 
List< string> l2 = new 列表< string>(){ B1 B2 B3 B4};

// 标准查询
// var allitems =来自in in l1
// 来自b in l2
// 选择新{
// A = a,
// B = b
// };

// 使用lambda表达式
var lambdaitems = l1.SelectMany(x = > l2,(x,y)= > new {A = x,B = y}) ;





错误返回相同的结果:



  AB  
A1 B1
A1 B2
A1 B3
A1 B4
A2 B1
A2 B2
A2 B3
A2 B4
A3 B1
A3 B2
A3 B3
A3 B4
A4 B1
A4 B2
A4 B3
A4 B4





试试!



如需了解更多信息,请参阅:

C#中的101个LINQ样本 [ ^ ]

LINQ 101个样本 - Lambda样式 [ ^ ]


I have 1 list of records that list have some sub list of records i need merge that two list record in generic list .


Any one help me ....



EXAMPLE

LIST 1     A1,A2,A3,A4                LIST 2 B1,B2,B3,B4

Need output like that
A1 B1
A1 B2
A1 B3
A1 B4
A2 b1
A2 B2
.
.
.



like that i need 




What I have tried:

foreach (GroupRouting objGroupRouting in objlstGroupRouting)
                    {
                        foreach (OutwardRouting objOutwardRouting in objGroupRouting.Outward)
                        { 
                            objlstOutwardRouting.Add(objOutwardRouting);
                        }
                    }
                    objlstOutwardRouting = objlstOutwardRouting.Union(objlstOutwardRouting).ToList();

解决方案

Seems you want to perform cross join operation.
Check this:

List<string> l1 = new List<string>(){"A1", "A2", "A3", "A4"};
List<string> l2 = new List<string>(){"B1", "B2", "B3", "B4"};

//standard query
//var allitems = from a in l1 
//				from b in l2
//				select new {
//					A = a,
//					B = b
//				};

//using lambda expressions
var lambdaitems = l1.SelectMany(x=> l2, (x, y) => new {A = x, B = y});



Both queries return the same result:

A B
A1 B1 
A1 B2 
A1 B3 
A1 B4 
A2 B1 
A2 B2 
A2 B3 
A2 B4 
A3 B1 
A3 B2 
A3 B3 
A3 B4 
A4 B1 
A4 B2 
A4 B3 
A4 B4 



Try!

For further information, please see:
101 LINQ Samples in C#[^]
LINQ 101 Samples - Lambda Style[^]


这篇关于单个列表需要在c#记录中交叉连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆