C#数组与字符串详解:一维数组及初始化

需积分: 0 0 下载量 117 浏览量 更新于2024-07-13 收藏 171KB PPT 举报
"本资源主要介绍了C#中的字符串声明与初始化,以及数组的定义和使用,包括一维数组和多维数组的概念。" 在C#编程语言中,字符串(string)是一种特殊的数据类型,用于存储文本信息。字符串的声明和初始化是编程中常见的操作。在C#中,我们可以使用以下方式定义并初始化一个字符串: ```csharp string s = "abcdef"; ``` 这里的`"abcdef"`是字符串字面量,它被赋值给一个名为`s`的string类型的变量。这种方式简洁明了,字符串一旦初始化就不能改变。 数组是存储同类型数据集合的结构,它们在内存中连续存储。C#中的数组分为一维数组、二维数组、多维数组等。对于一维数组,声明和初始化的语法如下: ```csharp int[] numbers = { 1, 2, 3, 4, 5 }; ``` 这定义了一个名为`numbers`的整型一维数组,并用字面量值初始化。另一种方式是先声明数组的大小,然后使用`new`关键字初始化: ```csharp int[] numbers = new int[5] { 1, 2, 3, 4, 5 }; ``` 这里我们先指定数组的长度为5,然后用`new`关键字分配内存并初始化每个元素。 此外,数组的下标从0开始,因此上述数组`numbers`包含了`numbers[0]`到`numbers[4]`五个元素。例如,如果`a`等于3,可以这样初始化数组: ```csharp int a = 3; int[] numbers = new int[a]; ``` 这个数组包含`numbers[0]`、`numbers[1]`和`numbers[2]`三个元素。 示例程序演示了如何创建一个字符串数组来存储球员的名字,并反向输出这些名字: ```csharp using System; using System.Collections.Generic; using System.Text; namespace Example1Of4 { class Program { static void Main(string[] args) { Console.WriteLine("请输入球员个数:"); int playerNo = int.Parse(Console.ReadLine()); string[] names = new string[playerNo]; for (int i = 0; i < names.Length; i++) { Console.WriteLine("请输入第{0}个球员的名字", i + 1); names[i] = Console.ReadLine(); } Console.WriteLine("你输入的球员名字分别是:"); for (int i = 0; i < names.Length; i++) { Console.WriteLine(names[i]); } Console.ReadLine(); } } } ``` 此程序首先询问用户球员的数量,然后依次输入每个球员的名字,最后将输入的名字按原顺序和反向顺序输出。通过这个示例,我们可以看到如何动态地初始化和操作数组。 除了上述的一维数组,C#还支持多维数组,如二维数组,它们可以看作是数组的数组。例如,定义一个2x2的二维数组: ```csharp int[,] matrix = new int[2, 2] { { 1, 2 }, { 3, 4 } }; ``` 这里,`matrix`是一个2行2列的矩阵,每个元素都可以通过行和列的索引来访问,如`matrix[0, 0]`、`matrix[0, 1]`、`matrix[1, 0]`和`matrix[1, 1]`。 交错数组(Jagged Array)是另一种形式的多维数组,它是一组数组的数组,每行可以有不同的长度。例如: ```csharp int[][] jaggedArray = new int[3][]; jaggedArray[0] = new int[2] { 1, 2 }; jaggedArray[1] = new int[3] { 3, 4, 5 }; jaggedArray[2] = new int[1] { 6 }; ``` 这种数组形式更加灵活,但处理起来相对复杂,因为每行都是独立的数组。 理解和掌握数组和字符串的声明、初始化及操作是学习C#编程的基础,它们在实际开发中有着广泛的应用。无论是简单的数据存储还是复杂的算法实现,数组和字符串都是不可或缺的工具。