C#中的ArrayList的Sort方法

ArrayList a1=new ArrayList();
a1.Sort(1,5,null);
Sort是排序,但是(1,5,null)是什么意思?怎么排序的?

a1.Sort(1,5,null)
1为数组起始位置,
5为从起始位置开始的元素个数,
null表示采用默认的排序规则(数字大小排序、字母先后排序等,为null时系统会自动辨别使用什么排序规则)
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-07
c#
2008代码
ArrayList
al
=
new
ArrayList();
for
(int
i
=
10;
i
>
0;
i--)
{
al.Add("a"
+
i.ToString());
}
//以下两种用法可执行看效果
al.Sort(4,
5,
null);//表示从第4个元素开始,连续的5个元素。注意:开始索引为0
//
//al.Sort();//按内容的字符排序,注意一下a1与a10的顺序
for
(int
i
=
0;
i
<
al.Count;
i++)
{
Console.WriteLine(al[i]);
}
第2个回答  2010-02-10
方法声明:
public virtual void Sort (
int index,
int count,
IComparer comparer
)

参数:
index
要排序的范围的从零开始的起始索引。
count
要排序的范围的长度。
comparer
比较元素时要使用的 IComparer 实现。

(1,5,null):(起始下标1,5位,无比较参数)
因为Sort()的非稳定性,当出现等同元素时,可能造成丢失.
第3个回答  2015-05-22
c# 2008代码

ArrayList al = new ArrayList();
for (int i = 10; i > 0; i--)
{
al.Add("a" + i.ToString());
}

//以下两种用法可执行看效果
al.Sort(4, 5, null);//表示从第4个元素开始,连续的5个元素。注意:开始索引为0
//
//al.Sort();//按内容的字符排序,注意一下a1与a10的顺序

for (int i = 0; i < al.Count; i++)
{
Console.WriteLine(al[i]);
}
第4个回答  2010-02-10
使用指定的比较器对 ArrayList 中某个范围内的元素进行排序。

参考资料:http://msdn.microsoft.com/en-us/h6th6159(zh-cn).aspx

C#如何实现在ArrayLis中Sort()方法,使其按自定义类中的某个元素进行排序...
class Program { static void Main(string[] args){ System.Collections.ArrayList list = new System.Collections.ArrayList();list.Add(new A(0, "张三"));list.Add(new A(2, "王五"));list.Add(new A(1, "李四"));\/\/加入的顺序是 0,2,1 list.Sort();foreach (A a in list){...

c#已知数组求数组最大值
方法一:使用ArrayList using System.Collections;int[] arr = {2,4,5,6,6,55,66,89,105,669,569 };ArrayList list = new ArrayList(arr);list.Sort();int min = Convert.ToInt32(list[0]);int max = Convert.ToInt32(list[list.Count - 1]);Console.WriteLine("最大" + max +" ...

C# 中的List.Sort()--集合排序方法全面解析
3. **泛型委托Comparison**:通过创建一个委托实例并绑定自定义的比较方法,你可以直接传递给List.Sort()方法。这种方式允许你动态地定义比较规则。4. **不同容器的排序差异**:虽然这里主要讲解了List的排序,但其他数据结构(如ArrayList)可能有不同的Sort()实现,但原理都围绕着IComparable、ICompare...

如何用C#语言编写从三个数中找出最大数的程序?
new SorterObjectArray(objArray, objArray2, comparer).QuickSort(index, (index + length) - 1);} else { new SorterGenericArray(keys, items, comparer).QuickSort(index, (index + length) - 1);} } } internal void QuickSort(int left, int right){ do { int low = left;int hi...

在C#中,下列代码的运行结果是
ArrayList是动态数组,用Add()方法给动态数组添加元素后如果超过数组容量会自动增加。需要注意的一点是,超过数组容量后,容量是按2的倍数增加的,比如你的程序,最后arrNumber.Capacity是8。而arrNumber.Count是5 === 简单地说,count表示数组的实际长度,而capacity表示的是数组的容量。count不用说了...

c#中ArrayList有几种方式来移除元素?
在 C# 中,ArrayList 类提供了多种方式来移除元素:使用 Remove 方法移除单个元素,需要提供要移除的元素的值。这个方法只移除第一个匹配的元素。ArrayList list = new ArrayList();list.Add(1);list.Add(2);list.Add(3);list.Remove(2); \/\/ 移除元素 2 使用 RemoveAt 方法移除指定位置上的元素...

c# GetDirectories() 文件夹排序
那个是按照文件的首字母拼音排序的,先拍字母,再排汉字。如果有新文件夹创建,你只能保留原先的文件数组,然后用新的遍历出的文件和原先的比对,得到新的文件夹。

C# 如何获取自定义的类数组中某个属性最小的对象? 比如有一个Person类...
Person[] ary;return ary.First(p=>p.Age == ary.Min(p2=>p2.Age));ArrayList。。用循环不行么_(:з」∠)_ 包括上面的数组也可以用循环处理 ArrayList ary;Person p=null;for(int i=0;i<ary.Count;i++){if (i==0) {p = (Person)ary[i];}else if (((Person)ary[i]).Age...

C#中List<>怎样作为形参在方法中使用
诸如Contains、IndexOf、LastIndexOf 和 Remove 这样的方法对列表元素使用相等比较器。类型 T 的默认相等比较器按如下方式确定。如果类型 T 实现 IEquatable<(Of <(T>)>) 泛型接口,则相等比较器为该接口的 Equals(T) 方法;否则,默认相等比较器为 Object..::.Equals(Object)。 诸如BinarySearch 和 Sort 这样的...

c#中怎么编个数组可以存放无限个整数
ArraryList alist = new ArraryList();alist.Add(11);alist.Add("string");alist.Add('char');alist.Count;\/\/获取元素个数,3个。性能较低,这个数组存储的object,涉及装箱\/拆箱。建议改用System.Collections.Generic.IList IList<int> list = new List<int>();方法同上。不用类型转换,这...

相似回答