以下是我的班级,其中包含数据:
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).