我最近开始学习C#,并且有一个包含六个整数的元组。是否有任何我可以使用的函数将元组按降序排序 - 例如:
元组< 5,4,3,3,7,8> 变 元组< 8,7,5,4,3,3>
答案 0 :(得分:5)
元组只是不同价值观的持有者 - 一个将它们组合在一起的包。元组不是列表,因此不是预期其中包含的项目可以相互重新排序的对象。
因此,没有任何内置命令会对Tuple
中包含的项进行排序 - 毕竟,如果元组包含整数,字符串,人物对象,订单对象和日期,那么如何订购那些?
您应该使用的数据结构是为了保存相同类型的项目而构建的,并且可以合理地排序 - 例如List<T>
。
答案 1 :(得分:1)
您可以从元组值创建数组。对数组进行排序。从数组中创建一个新元组。
var t = Tuple.Create(5, 4, 3, 3, 7, 8);
var arr = new int[] { t.Item1, t.Item2, t.Item3, t.Item4, t.Item5, t.Item6 };
Array.Sort(arr, (a, b) => b - a);
t = Tuple.Create(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]);
但是,正如其他答案和评论中已经提到的,看起来你是在滥用元组。