C# 数组

数组是一种数据结构,它可以包含同一类型的多个元素,C#中的数组元素从零开始。

数组可分为:简单数组、多维数组和锯齿数组。

简单数组

1、声明及初始化

int [] x = new int[5];

声明了数组后,就必须为数组分配内存,以保存数组的所以元素。数组是引用类型,所以必须给它分配推上的内存。使用new运算符,指定数组中元素的类型和数量来初始化数组的变量。

1. 使用数组初始化器为数组的每个元素赋值

int [] x = new int[5]{10,6,7,15,8};

2. 不指定数组的大小

int [] x = new int[]{10,6,7,15,8};

3. 简化的形式

int [] x = {10,6,7,15,8};

2、访问数组元素

1. 使用索引器传递元素编号访问数组

int [] x = {10,6,7,15,8};
Console.WriteLine(x[0]); // 10
Console.WriteLine(x[1]); // 6

2. 使用For循环遍历

int[] x = { 10, 6, 7, 15, 8 };
for (int i = 0; i < x.Length; i++)
{
     Console.Write(x[i]+" "); // 10 6 7 15 8
}

3. 使用foreach循环遍历

int[] x = { 10, 6, 7, 15, 8 };
foreach (var i in x)
{
    Console.Write(i + " "); // 10 6 7 15 8 
}

4. 使用Array.Sort排序

int[] x = { 10, 6, 7, 15, 8 };
Array.Sort(x); 
foreach (var i in x)
{
   Console.Write(i + " "); // 6 7 8 10 15
}

5. 经典题目:冒泡排序

int[] array = { 10, 6, 7, 15, 8 };
int temp = 0;
for (int i = 0; i < array.Length - 1; i++)
{
    for (int j = i + 1; j < array.Length; j++)
    {
        if (array[j] < array[i])
        {
            temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }
    }
}
foreach (var i in array)
{
    Console.Write(i + " ");   // 6 7 8 10 15
}

多维数组

多维数组是用两个或多个整数来索引。

1. 二维数组声明及初始化

int[,] y1 = new int[2, 2];
y[0, 0] = 1;
y[0, 1] = 2;
y[1, 0] = 3;
y[1, 1] = 4;
int[,] y2 = { { 1, 2 }, { 3, 4 } };

2. 三维数组

int[,,] y3 =
{
    {{1, 2}, {3, 4}},
    {{5, 6}, {7, 8}},
    {{9, 10}, {11, 12}},
};

锯齿数组

二维数组是一个完整的矩形,而锯齿数组大大小设置比较灵活,在锯齿数组中,每一行都可以有不同的大小。

int[][] j = new int[3][];
j[0] = new int[2] { 1, 2 };
j[1] = new int[5] { 3, 4, 5, 6, 7 };
j[2] = new int[3] { 8, 9, 10 };

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。