尝试根据自定义顺序排列列表数据

时间:2017-02-17 11:48:38

标签: c# linq

以下是我的班级,其中包含数据:

public class MyData
    {
        public string Region { get; set; }
        public int? RegionId { get; set; }
        public List<TestList> TestList { get; set; }
    }

 public class TestList
    {
        public int? TestId { get; set; }
        public List<Subvariants> SubvariantsList { get; set; }
    }

现在我的List<MyData>包含这样的数据:

var RegionList = new List<MyData>();  // This data variable contains below list

[0] : RegionId = 101
      //other properties

[1] : RegionId = 45
      //other properties


[2] : RegionId = 67
      //other properties

[3] : RegionId = 51
      //other properties

现在我有1个包含RegionId的列表如下:

var regionIdList  = new List<int>();
regionIdList = [67,101,51,45];

所以我想按照上面的顺序(regionIdList)来命令我的REgionList,所以我在RegionList中的最终数据应该是这样的:

RegionList中的预期输出

[0] : RegionId = 67
      //other properties

[1] : RegionId = 101
      //other properties


[2] : RegionId = 51
      //other properties

[3] : RegionId = 45
      //other properties

所以我有可能只在RegionList变量中使用这种自定义排序获取数据?因为这个变量有些像TestList这样的属性又包含了SubvariantsList,所以在排序之后我想保留所有这些变量和列表。

这就是我的尝试,但没有得到如何做到这一点:

RegionList = RegionList.OrderBy(o => o.RegionId) // this will sort data by regionid but not according to my custom order(regionIdList).

0 个答案:

没有答案