C# 数组初始化、反转和排序详解

宋时安
宋时安
发布时间:2026-10-13| 6人浏览过
原创

在 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));
}

运行结果说明

上述代码的执行流程如下:

  1. 初始状态:显示用户按索引 0, 1, 2 填入的三个值。
  2. 排序后:系统将自动把 "chand" 排在 "Mahesh" 之前(因为 'c' 在 'M' 之后... 注意区分大小写或统一处理,实际上 ASCII 码中大写字母小于小写字母,因此 'M' (77) 会排在 'c' (99) 之前。但在本例中 "Test Array" 的 T 也会参与比较)。*注:具体排序结果取决于字符编码比较规则,通常英文默认按 ASCII 值排序。*
  3. 反转后:将已排序的序列倒过来显示。

此示例清晰地展示了 System.Array 核心方法的配合使用方式。希望本文所述对大家的 C# 程序设计有所帮助。

以上就是 C# 中数组初始化、反转和排序的详细用法,更多关于 C# 基础教程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。