当前位置:  开发笔记 > 编程语言 > 正文

使用LINQ订购两个不同的C#列表

如何解决《使用LINQ订购两个不同的C#列表》经验,为你挑选了1个好方法。

我有两种不同的C#(3.5)类型.我不控制它们,所以我不能让它们从常见类型继承或实现接口.但它们在"形状"上非常相似:

class A
{
string Name
string Data
}

class B
{
string Title
string OtherStuff
}

class C
{
string ID
string ExtendedData
}

List< A > myAList
List< B > myBList

我想用LINQ查询执行以下操作:

返回列表中的所有元素myAList,并myBList通过命令NameTitle(不论适用)的结果必然是List< C >其中ID = NameTitleExtendedData = DataOtherStuff

思考?



1> Chris Shaffe..:
var myCList = (myAList.Select(a => new C
    { ID = a.Name, ExtendedData = a.Data })
    .Union(myBList.Select(b => new C
        { ID = b.Title, ExtendedData = b.OtherStuff }))
    .OrderBy(c => c.ID)
    .ToList();

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有