我有两个这样定义的类:
class Foo
{
public string name {get; set;}
public long number {get; set;}
}
class Bar
{
//some properties
public string otherName {get; set;}
public long otherNumber {get; set;}
}
如何将这两种类型的两个
IEnumerable
序列组合为一个新的匿名类型,该匿名类型由两个类的属性组成。例:
Foo:
name1 - number1
name2 - number2
name3 - number3
Bar:
otherName1 - otherNumber1
OtherName2 - otherNumber2
Desired Result:
name1 - number1
name2 - number2
name3 - number3
otherName1 - otherNumber1
OtherName2 - otherNumber2
我在linq中尝试了
Zip
功能,但没有运气。
最佳答案
用这个:
var result = efoo.Select(x => new { x = x.name, y = x.number })
.Concat(ebar.Select(x => new { x = x.otherName, y = x.otherNumber }));
result
是具有x
,y
作为属性的匿名类型的枚举。您可以使用普通的foreach
循环遍历此序列: foreach (var i in result)
{
string name = i.x;
long number = i.y;
}
关于c# - 结合两个不同类型的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33332119/