是的,我是c#的新手!:)我正在使用.Net4 VS2010.
我有三个类,每个类用于构建该类型的对象列表.这三个都继承了基类.
我想将结果三个列表合并为一个,并在其中一个基类元素上对它们进行排序.
这可以用不同类型的列表完成吗?
简化示例:
每个列表都已创建
public List<TestOne> TestOne list;
public List<TestTwo> TestTwoList;
public List<object> BothLists;
Run Code Online (Sandbox Code Playgroud)
填写TestOne和TestTwo的代码......
什么/如何将TestOne和TestTwo结合到BothLists中并在SeqNumber上对它们进行排序?
public class BaseClassTest
{
public string Loc { get; set; } // loc
// sequence number to order by will be assigned in the resulting class
public int SeqNumber { get; set; }
}
public class TestOne : BaseClassTest
{
public int Number { get; set; }
}
public class TestTwo : BaseClassTest
{
public string CatName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你应该能够做到:
List<BaseClassTest> sorted = TestOneList.Cast<BaseClassTest>()
.Union(TestTwoList.Cast<BaseClassTest>())
.OrderBy(item => item.SeqNumber)
.ToList();
Run Code Online (Sandbox Code Playgroud)
这将同时进行排序+联合.
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |