C# 数组初始化、反转和排序详解
在 C# 开发中,数组是最常用的数据结构之一。本文通过一个完整的代码示例,演示如何利用 System.Array 类进行动态类型数组的初始化赋值,并执行排序(Sort)与反转(Reverse)操作,适合需要快速了解 C# 基础数组处理的开发者参考。
C# 数组操作的完整实现
在 .NET 环境中,虽然通常推荐使用泛型列表 List<string>,但有时为了兼容或特定场景,我们需要使用非泛型的 Array 类。下面的代码展示了如何创建一个强类型的字符串数组,填充数据,并将其按字母顺序排序后反转。
第1步:创建并初始化数组
首先,我们定义一个包含三个元素的字符串数组。使用 CreateInstance 方法指定类型和大小,并通过 SetValue 逐一赋值。
using System;
public class ArraySample
{
public static void Main()
{
// Create and initialize a new array instance.
Array strArr = Array.CreateInstance(typeof(string), 3);
strArr.SetValue("Mahesh", 0);
strArr.SetValue("chand", 1);
strArr.SetValue("Test Array", 2);
// Display the values of the array.
Console.WriteLine("Initial Array values:");
for(int i = strArr.GetLowerBound(0);i<=strArr.GetUpperBound(0);i++)
Console.WriteLine(strArr.GetValue(i));
}
}
第2步:对数组进行排序
调用 Array.Sort 方法会对整个数组进行升序排序。对于字符串而言,这是基于字母表顺序的比较。
//sort the value of the array.
Array.Sort(strArr);
Console.WriteLine("After sorting:");
for(int i = strArr.GetLowerBound(0);i<=strArr.GetUpperBound(0);i++)
Console.WriteLine(strArr.GetValue(i));
第3步:反转数组内容
在排序的基础上,使用 Array.Reverse 方法将数组元素的位置完全颠倒,即第一个变为最后一个,反之亦然。
// Reverse values of the array.
Array.Reverse(strArr);
for(int i = strArr.GetLowerBound(0);i<=strArr.GetUpperBound(0);i++)
Console.WriteLine(strArr.GetValue(i));
}
运行结果说明
上述代码的执行流程如下:
- 初始状态:显示用户按索引 0, 1, 2 填入的三个值。
- 排序后:系统将自动把 "chand" 排在 "Mahesh" 之前(因为 'c' 在 'M' 之后... 注意区分大小写或统一处理,实际上 ASCII 码中大写字母小于小写字母,因此 'M' (77) 会排在 'c' (99) 之前。但在本例中 "Test Array" 的 T 也会参与比较)。*注:具体排序结果取决于字符编码比较规则,通常英文默认按 ASCII 值排序。*
- 反转后:将已排序的序列倒过来显示。
此示例清晰地展示了 System.Array 核心方法的配合使用方式。希望本文所述对大家的 C# 程序设计有所帮助。
以上就是 C# 中数组初始化、反转和排序的详细用法,更多关于 C# 基础教程的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









