C#基础 数组的定义与使用

本文详细介绍了C#中的数组,包括一维数组、二维数组、多维数组和交错数组的声明、初始化及使用。还提到了数组的元素访问、冒泡排序等操作,并强调了在使用数组时的注意事项。

数组

数组是一个存储相同类型元素的固定大小有顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

数组也是一种数据类型,数组是引用类型

1.1数组的类型

  1. 一维数组

  2. 二维数组

  3. 多维数组

  4. 交错数组

1.2简单数组

1.2.1数组的声明

数据类型 [] 数组名称;

通过数组的声明,明确这个数组中可以装载的数据类型有哪些

数据类型可以指定任何所需数据

   
     string[] nameList;

[]:指定数组的秩(维度)。秩指定数组的大小

1.2.2数组的初始化

C#中对于任何变量都要确保其先初始化

声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组

  1. 只进行初始长度初始化

                nameList = new string[5]; 

    这样的初始化确保了数组对象的大小,数组的长度是5,这个数组中可以存放5个string类型的数据

  2. 长度初始化及元素初始化

                nameList = new string[5] { "张三","王五","李四","张圣","王麻子"};

    这样初始化,既确定了数组的长度,同时也初始化了数组中的每一个元素

    注意:在初始化元素对象务必确保元素个数和数组长度保持一致

  3. 只进行元素初始化

                string[] nameList= { "张三","王五","李四","张圣","王麻子"};

    这样初始化,直接将元素存放进数组中,数组的长度有初始化时元素的个数决定,而且在使用这种初始化方式时,必须保证在数组声明时才能使用

1.2.3数组元素的使用

数组声明之后,基本上元素个数确定之后,每个元素如果没有初始化元素则都按照元素数据类型对应的默认值确认。

  1. 改变数组中的元素

    使用索引值进行对指定元素更改

    而在C#中所有的索引全部是从0开始

  2. 调用数组中的元素

    使用索引确保元素的顺序

1.3二维数组

二维数组又称为矩形数组

1.3.1二维数组的声明

声明一个 string变量的二维数组,如下

        string[,] names;

1.3.2二维数组初始化

            names = new string[3, 4];

赋值初始化

 

二维数组中如果只进行初始化元素,而不进行初始化数组则务必保证每个每个行中的列的个数是一致的,数组的列数由第一行的列数决定

1.3.3二维数组的使用

使用行和列的索引共同使用

        
    MessageBox.Show(names[2,2]);

1.4使用数组注意

索引不能超出最大界限

1.5多维数组

声明一个 int 变量的三维数组,如下

int[,,] list = new int[2,3,3];

1.6交错数组

交错数组是数组的数组

声明一个带有 int 值的交错数组 scores,如下所示

int[][] scores;

声明一个数组不会在内存中创建数组。创建上面的数组:

int[][] scores=new int[5][];

后面的[]中不能再指定长度

您可以初始化一个交错数组,如下所示:

lists = new string[3][] {new string[] { "1","2"},new string[]{ "3"},new string[]{ "3","2","1"} };

数组的使用

2.1数组解析

2.2冒泡排序

N个数字来排队,两两相比小靠前。外层循环N-1,内层循环N-1-i

    
        for (int i=0;i<list.Length-1 ;i++ )
            {
                for (int j = 0; j < list.Length-i-1; j++)
                {
                    if (list[j]<list[j+1])
                    {
                        int temp = list[j];
                        list[j] = list[j + 1];
                        list[j + 1] = temp;
                    }
                }
            }

查看更多十大排序算法

https://v.youku.com/v_show/id_XNTA3NDUwODA4.html?f=18906853

https://www.cnblogs.com/xiaohuiduan/p/11188304.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值