gpt4 book ai didi

c# - 排序列表>

转载 作者:太空狗 更新时间:2023-10-30 00:05:17 25 4
gpt4 key购买 nike

我正在做 C# .net2.0我有一个包含两个字符串的列表,我想对它进行排序。列表就像 List<KeyValuePair<string,string>>

我得按照第一个string排序,即:

  • ACC
  • ABLA
  • SUD
  • 弗洛
  • IHNJ

我尝试使用 Sort() ,但它给了我异常:“无效操作异常”,“无法比较数组中的两个元素”

无论如何,你能建议我做这件事吗?

最佳答案

当您受困于 .NET 2.0 时,您将不得不创建一个实现 IComparer<KeyValuePair<string, string>> 的类并将它的一个实例传递给 Sort方法:

public class KvpKeyComparer<TKey, TValue> : IComparer<KeyValuePair<TKey, TValue>>
where TKey : IComparable
{
public int Compare(KeyValuePair<TKey, TValue> x,
KeyValuePair<TKey, TValue> y)
{
if(x.Key == null)
{
if(y.Key == null)
return 0;
return -1;
}

if(y.Key == null)
return 1;

return x.Key.CompareTo(y.Key);
}
}

list.Sort(new KvpKeyComparer<string, string>());

如果您要使用更新版本的 .NET 框架,您可以使用 LINQ:

list = list.OrderBy(x => x.Key).ToList();

关于c# - 排序列表<keyValuePair<string,string>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14895038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com