如何按Dictionary <string,int>对列表<string>进行排序

Tun*_*ieu 2 c# linq

我正在.NET 4.0(C#)中实现数据挖掘算法,LINQ将起作用,我需要一些帮助.

我有一个列表A和一个字典B.如何按值B排序A.例如A = {b, d, c}B = {(b,2),(c,5),(d,1),(e,3)}.我需要排序A - > A = {c, b, d}.

Art*_*aca 9

您要求订购OrderByOrderByDescending扩展:

List<string> A = ...
Dictionary<string, int> B = ...

A = A.OrderByDescending(a => B[a]).ToList()
Run Code Online (Sandbox Code Playgroud)

或者使用Sort方法:

A.Sort((x, y) => B[y].CompareTo(B[x]));
Run Code Online (Sandbox Code Playgroud)