Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq:按不规则顺序排序_C#_Linq_Sorting - Fatal编程技术网

C# Linq:按不规则顺序排序

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

我有一份城市名单。每个城市都有一个碳原子

我想按以下顺序对城市列表进行排序: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 
  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评级,而你不能自己解决这个问题^^我相信这个问题是关于应该加入什么//把你的逻辑放在这里。同样,排序方法也会有困难,因为它可能不存在于数据库集合中。