举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#数组初始化 C# 数组

c#数组初始化 C# 数组

2023-02-24 12:18 C#教程

c#数组初始化 C# 数组

c#数组初始化

C#数组初始化是指在定义数组时,将元素的值设置为特定的值。C#中有两种方法可以用来初始化数组:一种是使用new关键字,另一种是使用静态初始化。

使用new关键字来初始化数组时,必须提供数组的大小,并且可以选择性地提供要存储在数组中的值。例如,下面的代码声明了一个int型的数组,并将其大小设为5:

int[] array = new int[5];

上述代码声明了一个int型的数组,但是它并没有将任何值存储在该数组中。如果要将特定的值存储在该数组中,可以使用如下代码:

int[] array = new int[5] {1, 2, 3, 4, 5};

上述代码声明了一个int型的数组,并将其大小设为5。此外,它还将1、2、3、4、5这五个值存储在该数组中。

另外一种方法是使用静态初始化来初始化C#中的数据。使用此方法时不必提供大小信息,因此可以省略new关键字。例如:

int[] array = {1, 2, 3, 4, 5};

上述代表声明了一个int型的数据并将1、2、3、4、5这五个值存储在该數據中。此外,它也不需要我们手动设定大小信息。

C# 数组

C#数组

数组表示特定类型的固定数量的变量。

在元素类型后面创建一个带方括号的数组。

例如:


char[] letterArray = new char[5]; // Declare an array of 5 characters 

在元素类型后面创建一个带方括号的数组。


letterArray[0] = 'a'; 
letterArray[1] = 'e'; 
letterArray[2] = 'i'; 
letterArray[3] = 'o'; 
letterArray[4] = 'u'; 
Console.WriteLine (letterArray[1]); // e 

我们可以使用for循环语句来遍历数组中的每个元素。


for (int i = 0; i < letterArray.Length; i++) {
    Console.Write (letterArray[i]); // aeiou 
}

数组的Length属性返回数组中元素的数量。

创建数组后,无法更改其长度。

数组初始化表达式可以在一个步骤中声明和填充数组:


char[] letterArray = new char[] {'a','e','i','o','u'}; 

或简单为:


char[] letterArray = {'a','e','i','o','u'}; 

所有数组都继承自System.Array类,为所有数组提供通用服务。

默认元素初始化

创建数组总是使用默认值预先初始化元素。

例如,考虑创建一个整数数组。因为int是一个值类型,所以分配1000个整数。

每个元素的默认值为0:


int[] a = new int[1000]; 
Console.Write (a[123]); // 0 

值类型与引用类型

当元素类型是值类型时,每个元素值将作为数组的一部分分配。

例如:


struct Point { 
  public int X, Y; 
} 

Point[] a = new Point[1000]; 
int x = a[500].X; // 0 

如果Point是一个类,创建数组将只分配10个空引用:


class Point { 
  public int X, Y; 
} 

Point[] a = new Point[10]; 
int x = a[5].X; // Runtime error, NullReferenceException 

要避免此错误,请在实例化数组后显式实例化Point值:


Point[] a = new Point[10]; 
for (int i = 0; i < a.Length; i++){ // Iterate i from 0 to 9
    a[i] = new Point();             // Set array element i with new point 
}

数组本身始终是引用类型对象,不管元素类型如何。

例如,以下是合法的:


int[] myArray = null; 
阅读全文
以上是编程学为你收集整理的c#数组初始化 C# 数组全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#变量名命名规则 C# 变量

    c#变量名命名规则 C# 变量

    2023-02-27 C#教程

    C#变量变量表示可修改值的存储位置。 变量可以是局部变量,参数,字段或数组元素。 定义赋值C#强制执行明确的赋值策略。 局部...

  • c#参数计数不匹配 C# 参数

    c#参数计数不匹配 C# 参数

    2023-02-26 C#教程

    C#参数方法可以具有参数序列。参数定义必须为该方法提供的参数集。在以下示例中,myMethod方法具有名为p的单个参数,类型为int...

  • c#事件与委托 C# 事件

    c#事件与委托 C# 事件

    2023-02-25 C#教程

    C#事件事件系统是软件系统的核心部分。例如,按钮可以触发点击事件。批处理作业可以生成作业完成事件。学生系统将使用注册事件...

  • c#索引器用的多吗 C# 索引器

    c#索引器用的多吗 C# 索引器

    2023-02-26 C#教程

    C# 索引器索引器提供了一个类似数组的语法来访问类或结构中的元素。索引器与属性类似,但可通过索引参数访问,而不是属性名称。...

  • c#转换16进制函数 C# 转换

    c#转换16进制函数 C# 转换

    2023-02-23 C#教程

    C# 转换转换和引用对象引用可以是:隐式向上转换为基类引用 显式地向下转换为子类引用 上传总是成功的;只有在对象正确键入时,向...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部