我是靠谱客的博主 粗犷哑铃,最近开发中收集的这篇文章主要介绍C# 数组增加元素_【c#资料】数组(Array),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C# 数组(Array)

文章目录:

  1. C# 数组
  2. 一维数组
  3. 多维数组
  4. 交错数组
  5. Array类
  6. 参数数组

1.简介

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

所有的数组都是由连续的内存位置组成,最低的下标对应第一个元素,最高的下标对应最后一个元素。


2.数组的声明

在 C# 中声明一个数组,可以使用下面的语法:

datatype
  • datatype 指定被存储在数组中的元素的类型
  • [ ] 指定数组的秩(维度),秩是指数组的维数,如一维数组的秩为1,二维数组的秩为2
  • arrayName 指定数组的名称

3.特性介绍

1)数组是引用类型而不是值类型

2)数组的容量为固定值,无法修改,如果要增减容量,必须创建新数组,将旧数组的元素复制到新数组中,并删除旧数组。

3)数组不会自动排序,默认按照初始化时排列顺序排序。

83dc3e9390f27f134dbe8560fc23cea9.png

4)多维数组可以为每个维度提供不同的界限,最多可以有 32 个维度

4aa7a41e8a9fb1af01f692d67a25aa38.png

5)数组中的元素不可为 null,否则编译时会报错

6)数组的长度为元素的总数,长度为 Length-1,超出长度编译时会报错。


一 . 一维数组

datatype

一维数组的元素个数称为一维数组的长度。

一维数组长度为 0 时,我们称之为空数组。一维数组的索引从零开始,具有n个元素的一维数组的索引是从 0 到 n-1 。

当创建一个数组时,编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int 数组的所有元素都会被初始化为 0。


1.一维数组的声明和创建形式:

数组类型 [ ] 数组名 = new 数组类型 [数组长度]

//表示声明和创建一个具有5个数组元素的一维数组a

2.一维数组的初始化:

1)在创建时初始化

int 

2)先声明后初始化

int 

3)先创建后初始化

int 

3.遍历数组

int

运行结果:

1e654e23f110312bc7ec5b5d16dbcba0.png

二 . 多维数组

datatype

多维数组需要使用多个元素索引才能确定数组元素的位置

声明多维数组时,必须明确定义维度数、各维度的长度、数组元素的数据类型

多维数组的元素总数是各维度的长度的乘积

例如:如果二维数组a的两个维度的长度分别为2和3,则该数组的元素总数为6。

1.多维数组的声明和创建形式:

数组类型 [ 维度 ] 数组名 = new 数组类型 [ 维度长度 ];

//表示声明和创建一个具有 5×4×3 共60个数组元素的三维数组a

2,多维数组的初始化需要注意以下几点:

1)以维度为单位组织初始化值,同一维度的初始值放在一对花括号之中

int 

2)可以省略维度长度列表,系统能够自动计算维度和维度的长度。但注意,逗号不能省略

int

3)初始化多维数组可以使用简写格式

int 

4)不允许部分初始化

//只初始化二维数组的第一列元素,这是不允许的

5)可以先创建再初始化,但不建议这样使用,因为会非常麻烦

注意:声明时 不需要 指定内存,创建时 需要 指定内存

//先创建后初始化需要通过下标一个一个赋值

6)可以先声明,再初始化

int

3.遍历数组

int

运行结果:

02a89040463b071c04dbbf0d9ab8304b.png

三 . 交错数组

datatype

交错数组是一种由若干个数组构成的数组。为了便于理解,我们把包含在数组中的数组称为子数组。


1.交错数组的声明和创建形式:

数组类型 [ 维度 ] [ 子数组维度 ] 数组名 = new 数组类型 [ 维度长度 ] [ 子数组维度 ] ;

//表示创建了由2个一维子数组构成一维数组a

2.交错数组的初始化:

交错数组同样有多种初始化方式,包括创建时初始化、先声明后初始化等。

注意:初始化交错数组时,每个元素的 new 运算符都不能省略

1)创建时初始化可省略维度长度

//表示创建由2个一维子数组构成的数组a

2)先声明后初始化更加直观

//声明由3个一维子数组构成的数组a

3.遍历数组

int

运行结果:

205abad754f5ff714eb2de1aa17e6b3e.png

四.Array类

1.简介

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

Array 类是抽象类,无法 new ,只能继承


Array 类的方法和属性

1) Array 类的一些常用的 属性

属性描述
IsFixedSize大小是否固定
IsReadOnly是否只读
Length获取数组中的元素总数(值为32位整数)
LongLength获取数组中的元素总数(值为64位整数)
Rank获取数组的秩(维度)

2) Array 类的一些常用的 方法

方法描述
object GetValue (int index);获取一维 Array 中指定位置的值
object? GetValue (int[] indices);获取多维 Array 中指定位置的值,int[] indices 为一维数组,表示指定位置的索引
int GetLowerBound (int dimension);获取 Array 指定维度第一个元素的索引
int GetUpperBound (int dimension);获取 Array 指定维度最后一个元素的索引
int GetLength(int dimension);获取指定维度中的所有元素总数(值为32位整数)
long GetLongLength(int dimension);获取指定维度中的所有元素总数(值为64位整数)
bool Equals(object object);确定指定对象是否等于当前对象
void SetValue (object value, int index);设置一维 Array 中指定位置元素的值
void SetValue (object? value, params int[] indices);设置多维 Array 中指定位置元素的值,int[] indices 是一维数组,它表示指定位置的索引
void CopyTo(Array array, int index);将当前一维数组的所有元素复制到指定的一维数组的指定索引处

3) Array 类的一些常用的 静态方法

静态方法描述
void Sort (Array array);对一维 Array 进行排序
void Sort (Array keys, Array items);基于第一个 Array 的值,对两个一维 Array 进行排序
void Sort (Array array, int index, int length);对一维 Array 中指定范围元素进行排序
void Reverse (Array array);反转一维 Array 中所有元素的顺序
void Reverse (Array array, int index, int length);反转一维 Array 中指定范围元素的顺序
int IndexOf (Array array, object? value);搜索一维 Array 指定对象,返回首个索引
int IndexOf (Array array, object? value, int startIndex, int count);从指定索引范围搜索一维 Array 指定对象,返回首个索引
int LastIndexOf (Array array, object? value);搜索一维 Array 指定对象,返回最后索引
int LastIndexOf (Array array, object? value, int startIndex, int count);从指定索引范围搜索一维 Array 指定对象,返回最后索引
void Copy(Array array, int index, Array array, int index, int length);复制指定范围的元素到另一个 Array 指定索引处
void Resize (ref T[]? array, int newSize);将一维 Array 元素总数更改为指定的新大小
void Clear(Array array, int index , int length);将 Array 某个范围的元素设置为每个元素类型的默认值

代码演示

注意:为了方便阅读,以下将代码拆分为多段进行演示,实际运行可以把代码直接拼接起来

using 

非静态方法:

Console

运行结果:

8e5e9d83068ee9e0c54653e4d70704b4.png
Console

运行结果:

121aa7e448df1881d74c104bbb4b9456.png
Console

运行结果:

a5936c0e55ee01fa56c3f6fc66f09309.png

静态方法:

Console

运行结果:

330df2e61f534bfb3150e908f60d366a.png
Console

运行结果:

42a399a9e35ab991d5ecb0ea06931270.png
Console

运行结果:

823982e01a885244fcf862cf5cc0e216.png
Console

运行结果:

a9ffb97f8f697dc521417da24253a51f.png

五.参数数组

当声明一个方法时,不能确定参数的数目,可以使用参数数组,参数数组通常用于传递未知数量的参数给方法。

params 关键字

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

public 

代码演示

using 

运行结果:

ccfe5ea71935508288fd6a0067e86060.png

最后

以上就是粗犷哑铃为你收集整理的C# 数组增加元素_【c#资料】数组(Array)的全部内容,希望文章能够帮你解决C# 数组增加元素_【c#资料】数组(Array)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部