Array.Sort()分配了大量内存
创始人
2024-09-14 03:00:35
0

使用Array.Sort(Array, Int32, Int32, IComparer)方法,该方法允许您指定要排序的数组段和比较器。这将限制Array.Sort()在内存方面的使用。以下是示例代码:

int[] numbers = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 }; Array.Sort(numbers, 4, 6, Comparer.Default); // 在索引4处开始,使用默认比较器对6个数字进行排序

如果您需要以相同的方式多次排序相同的数组,则还可以使用Array.Sort(Array, Array, Int32, Int32, IComparer)方法,该方法允许您指定源和目标数组。这可以避免在每个排序之间复制数据。以下是示例代码:

int[] numbers = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 }; int[] sortedNumbers = new int[numbers.Length]; Array.Copy(numbers, sortedNumbers, numbers.Length); // 一次性复制数据以进行多次排序

Array.Sort(numbers, sortedNumbers, 4, 6, Comparer.Default); // 在索引4处开始,使用默认比较器对6个数字进行排序

// 在此重复进行排序

如果您需要将对对象的排序与对值的排序结合使用,则可以实现IComparer接口并将其传递给Array.Sort()方法。使用此方法,您可以在同一个数组中排序实例,而无需进行封送解封和更改对象引用。以下是示例代码:

class Person { public string Name { get; set; } public int Age { get; set; } }

class PersonAgeComparer : IComparer { public int Compare(Person person1, Person person2) { return person1.Age.CompareTo(person2.Age); } }

Person[] people = new Person[] { new Person { Name = "

相关内容

热门资讯

玩家必备教程!微扑克机器人代打... 玩家必备教程!微扑克机器人代打,aapoker发牌机制,教你攻略(一直存在有挂)1、不需要AI权限,...
记者揭秘!aapoker辅助软... 记者揭秘!aapoker辅助软件,微扑克辅助软件,揭秘教程(固有是真的有挂)1、这是跨平台的微扑克辅...
玩家必备科普!德州之星有辅助挂... 1、玩家必备科普!德州之星有辅助挂吗,aapoker有外挂,2025版教程(本然有挂);代表性(透视...
推荐十款!wpk统计插件,德扑... 推荐十款!wpk统计插件,德扑ai智能机器人,扑克教程(从来有挂)是一款可以让一直输的玩家,快速成为...
分享一款!wopoker透明挂... 1、分享一款!wopoker透明挂,微扑克德州专用辅助器,玩家教程(本然真的有挂);代表性(透视辅助...
技术分享!wpk微扑克最新辅助... 技术分享!wpk微扑克最新辅助,德扑之星ai代打,揭秘攻略(往昔存在有挂)德扑之星ai代打辅助器中分...
玩家攻略推荐!微扑克俱乐部24... 玩家攻略推荐!微扑克俱乐部24小时,wepoke是真的有挂,揭秘教程(最初是有挂)是一款可以让一直输...
技术分享!wpk德州,微扑克a... 技术分享!wpk德州,微扑克ai辅助,辅助教程(一直有挂)(1)技术分享!wpk德州,微扑克ai辅助...
程序员教你!GG扑克辅助软件,... 程序员教你!GG扑克辅助软件,德州免费辅助神器app,AI教程(竟然是真的有挂)1)德州免费辅助神器...
总算了解!wpk辅助软件,we... 总算了解!wpk辅助软件,wepoke ai辅助,规律教程(总是是有挂)1、wepoke ai辅助a...