system.array用于数组元素排序的方法
system.array用于数组元素排序的方法?
System.Array类提供了多种排序方法,包括以下几种常用的方法:
1. Sort(Array array):对指定的数组进行排序,根据元素的默认顺序进行比较。
```csharp
int[] numbers = { 5, 2, 7, 1, 3 }
Array.Sort(numbers)
```
2. Sort(Array array, IComparer comparer):对指定数组中的元素进行排序,使用自定义的比较器进行比较。
```csharp
string[] names = { "Bob", "Alice", "John", "Dave" }
Array.Sort(names, StringComparer.CurrentCulture)
```
3. Sort(Array array, Array keys):根据一个数组的键对另一个数组进行排序。
```csharp
string[] names = { "Bob", "Alice", "John", "Dave" }
int[] ages = { 25, 30, 20, 35 }
Array.Sort(ages, names)
```
4. Sort(Array array, Array keys, IComparer comparer):根据一个数组的键对另一个数组进行排序,使用自定义的比较器进行比较。
```csharp
string[] names = { "Bob", "Alice", "John", "Dave" }
int[] ages = { 25, 30, 20, 35 }
Array.Sort(ages, names, Comparer
```
5. Sort(Array array, int index, int length):对指定数组的部分元素进行排序。
```csharp
int[] numbers = { 5, 2, 7, 1, 3 }
Array.Sort(numbers, 1, 3)
```
需要注意的是,以上方法会直接修改原始数组的顺序。如果不想修改原始数组,可以使用以下方法创建一个新的排序后的数组:
```csharp
int[] numbers = { 5, 2, 7, 1, 3 }
in
其实就是让你写一个类,实现IComparable接口,再通过调用Sort方法对该类的实例(一维数组)排序。 class Student:IComparable { private string name private int score public int CompareTo(object obj) { Student _obj = obj as Student if (_obj != null) { return this.score.CompareTo(_obj.score) } else throw new ArgumentException("Object is not a Student !") } }