C# Linq:按不规则顺序排序
我有一份城市名单。每个城市都有一个碳原子 我想按以下顺序对城市列表进行排序:3,6,2,7,9 有没有一种方法可以按碳[3,6,2,7,9]的数组进行排序C# Linq:按不规则顺序排序,c#,linq,sorting,C#,Linq,Sorting,我有一份城市名单。每个城市都有一个碳原子 我想按以下顺序对城市列表进行排序:3,6,2,7,9 有没有一种方法可以按碳[3,6,2,7,9]的数组进行排序 List<City> cities = db.GetCities.SortByIrreguylarCarbonId([3,6,2,7,9]??????) 创建比较逻辑 private static int CompareCityByMyLogic(City x, City y) { //put your logic here
List<City> cities = db.GetCities.SortByIrreguylarCarbonId([3,6,2,7,9]??????)
创建比较逻辑
private static int CompareCityByMyLogic(City x, City y)
{
//put your logic here
return 0;
}
然后使用它
db.GetCities.sortComparentyByLogic 只需创建所需的方法:
class City
{
public int CarbonId { get; set; }
public static IOrderedEnumerable<City> OrderByIrregularCarbonId(
IEnumerable<City> sequence,
params int[] carbons)
{
return sequence.OrderBy(T => Array.IndexOf(carbons, T.CarbonId));
}
}
public static void Main(string[] args)
{
int[] carbonOrder = new[] { 3, 6, 2, 7, 9 };
List<City> cities = City.OrderByIrregularCarbonId(db.GetCities, carbonOrder).ToList();
}
不规则的秩序是如何决定的?@test:它认为秩序已经存在了吗?3,6,2等等,@huMptyduMpty我不知道他是否有不同的订单,他希望排序订单输出为3,6,2,7920K评级,而你不能自己解决这个问题^^我相信这个问题是关于应该加入什么//把你的逻辑放在这里。同样,排序方法也会有困难,因为它可能不存在于数据库集合中。