C# List<string,string>排序
时间: 2024-11-09 09:20:31 浏览: 5
C#中List〈string〉和string[]数组之间的相互转换
在C#中,如果你有一个包含两个字符串元素的`List<(string, string)>`,通常被称为一对元组,你需要先将它们转换成传统的`List<T>`结构,以便可以直接使用`Sort()`方法。因为元组不能直接作为`Sort()`的参数,你需要将其拆分并放入一个新的列表中。
假设你有这样一个元组列表:
```csharp
List<(string Key, string Value)> keyValuePairs = new List<(string, string)>
{
("Key1", "Value1"),
("Key3", "Value3"),
("Key2", "Value2")
};
```
首先,你可以创建一个新的`Dictionary<string, string>`,然后将元组的内容添加进去,因为字典的键值对已经是按照键排序的:
```csharp
var dict = keyValuePairs.ToDictionary(p => p.Key, p => p.Value);
```
接着,你可以获取字典的键值列表并排序:
```csharp
var sortedKeys = dict.Keys.ToList().OrderBy(key => key);
var sortedKeyValuePairList = sortedKeys.Select(key => (key, dict[key])).ToList();
```
最后,`sortedKeyValuePairList`就是按照第一个字符串元素(即键)排序后的列表。
阅读全文