Sort one list by another

前端 未结 7 1409
借酒劲吻你
借酒劲吻你 2020-12-02 05:59

I have 2 list objects, one is just a list of ints, the other is a list of objects but the objects has an ID property.

What i want to do is sort the list of objects b

7条回答
  •  盖世英雄少女心
    2020-12-02 06:26

    Here is an extension method which encapsulates Simon D.'s response for lists of any type.

    public static IEnumerable SortBy(this IEnumerable sortItems,
                                                             IEnumerable sortKeys,
                                                             Func matchFunc)
    {
        return sortKeys.Join(sortItems,
                             k => k,
                             matchFunc,
                             (k, i) => i);
    }
    

    Usage is something like:

    var sorted = toSort.SortBy(sortKeys, i => i.Key);
    

提交回复
热议问题