【C#学习】数组

前言

C# 中,数组是一种聚合类型,表示具有相同类型的一组对象的集合。数组是一种 引用类型,在作为函数参数传递时,为 按引用传递

语法

一维数组

要创建一个数组对象,需要依据以下语法

<type> [] <name> = new <type>[<count>];

要初始化时,依次使用下标对数组元素赋值:

<name>[<index>] = <value>; 

也可以在定义时初始化。以下三种方法等价:
            int[] nums1 = new int[3];
            nums1[0] = 1;
            nums1[1] = 2;
            nums1[2] = 3;

            int[] nums2 = new int[] {
                1, 2, 3 
            };

            int[] nums3 = {
                1, 2, 3
            };
数组的访问要注意越界问题,编译期不会出错,但是运行期会出错。

要获得数组元素的个数,使用以下语法:

int n = <name>.Length; 

C#数组有一个 只读属性Length,保存了数组的容量。

多维数组

            int[,] n = new int[3, 2] { // 3行2列
                {1, 2 }, 
                {3, 4 },
                {5, 6 },
            }; 
多维数组的 .Length 属性保存的是整个数组的所有元素个个数。使用 GetLength() 方法可以返回每一个纬度的长度。
            int[,] arr = new int[3, 2] {
                {1, 2 }, 
                {3, 4 },
                {5, 6 },
            };

            int n1 = arr.Length;        // 6
            int n2 = arr.GetLength(0);  // 3
            int n3 = arr.GetLength(1);  // 2
多维数组的同一个纬度的元素,必须有相同的纬度。所以,下面的代码会报错“应为一个长度为3的初始数组”
            int[,] arr = new int[,] {
                {1, 2, 3},  // 
                {3, 4 }, // 错误
                {5, 6 }, // 错误
            };
改正:
            int[,] arr = new int[,] {
                {1, 2, 3}, 
                {3, 4, 3 },
                {5, 6, 1 },
            };

交错数组

int[][] jaggedArray = new int[3][];
    int[][] jaggedArray2 = new int[][] 
{
    new int[] {1,3,5,7,9},
    new int[] {0,2,4,6},
    new int[] {11,22}
};
    int[][] jaggedArray3 = 
{
    new int[] {1,3,5,7,9},
    new int[] {0,2,4,6},
    new int[] {11,22}
};
int[][,] jaggedArray4 = new int[3][,] 
{
    new int[,] { {1,3}, {5,7} },
    new int[,] { {0,2}, {4,6}, {8,10} },
    new int[,] { {11,22}, {99,88}, {0,9} } 
};
上面的写法都是可行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值