单个排序的c#列表有不同的类型?

1 .net c# list

是的,我是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)

Ree*_*sey 5

你应该能够做到:

List<BaseClassTest> sorted = TestOneList.Cast<BaseClassTest>()
                    .Union(TestTwoList.Cast<BaseClassTest>())
                    .OrderBy(item => item.SeqNumber)
                    .ToList();
Run Code Online (Sandbox Code Playgroud)

这将同时进行排序+联合.