数组 集合

数组就像是一个容器,特点:长度固定,类型固定

数组的分类:一维数组 二维数组 多维数组

数组的应用:创建 赋值 应用

声明一维数组:

//告诉他 你要多大的数组
int[] arr = new int[100];

//不告诉他有多大,直接告诉他 数据组都有什么值
string[] name1 =new string[] { "张三","李四", "王五"}

C#多维数组又称为矩形数组

多维数组最简单的形式是二维数组

二维数组在本质上是一个一维数组的列表

访问二维数组元素 二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的

C# 交错数组:交错数组是数组的数组

C# Array 类:

Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义。 Array 类提供了各种用于数组的属性和方法。

C# 传递数组给函数:

在 C# 中,您可以传递数组作为函数的参数。您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。

C# 参数数组:

有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。

params 关键字 在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以只传递一组数组。params 的使用格式为:

BCL(Base Class Library)中集合类型分为泛型集合与非泛型集合。

非泛型集合的类和接口位于System.Collections命名空间。

泛型集合的类和接口位于System.Collections.Generic命名空间。

System.Collection 命名空间的类 动态数组(ArrayList) 哈希表(Hashtable) 排序列表(SortedList) 堆栈(Stack) 队列(Queue) 点阵列(BitArray)

动态数组(ArrayList) 它代表了可被单独索引的对象的有序集合。 它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。 哈希表(Hashtable) 它使用键来访问集合中的元素。 当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。 排序列表(SortedList) 用于处理和表现类似key value的键值对,它可以使用键和索引来访问列表中的项。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。 堆栈(Stack)约等于栈 它代表了一个后进先出的对象集合。 当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。 队列(Queue)约等于堆 它代表了一个先进先出的对象集合。 当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。 点阵列(BitArray) BitArray用来处理位集合,类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),false 表示位是关闭的\。当您需要存储位,但是事先不知道位数时,则使用点阵列。

堆(heap):堆是一种经过排序的树形数据结构,每个结点都有一个值。 栈(stack):它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。(PS:颇有砌墙的砖——后来者居上的感觉。)

猜你喜欢

转载自www.cnblogs.com/chenhangtian/p/11142291.html