我有与一些双值相关联的字符串。我需要能够通过值轻松地对它们进行排序,并轻松地将字符串作为某种列表。这些对可能有 100k+。

所以,我的问题是我是否应该使用带有字符串作为键和 double 作为值的字典,还是应该使用具有相同键和值的 KeyValuePairs 列表?

在字典的情况下,很容易通过以下方式获取键作为列表
dict.Keys.toList()
并且在列表的情况下很容易按值排序
list.Sort(delegate(KeyValuePair x, KeyValuePair y) { return y.Value.CompareTo(x.Value); })

不过,我还没有找到同时做到这两点的方法。您有什么推荐的吗?

最佳答案

这是选择 KeyValue 列表中值为 1 的所有字符串或从键值对中选择所有字符串的 1 种方法

List<string> onestrings = list.Where(a=>a.Value == 1).Select(a => a.Key).ToList();
List<string> allstrings = list.Select(a => a.Key).ToList();

关于c# - 字典或列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4935817/

10-17 02:48