c#数组详解

C#数组详解

什么是数组

数组是 C# 中最常用的一种数据结构,它可以用于存储同一种数据类型的多个元素。数组中的元素可以通过数组下标进行访问,下标从 0 开始计数。

数组定义和初始化

下面是定义和初始化一个数组的语法:

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

其中,数组类型可以为整型、字符型、浮点型、对象型(即自定义类)等。数组长度为整型数据,用于指定数组中可以容纳的元素个数。

以下是一些数组的初始化示例:

int[] array1 = new int[10];  // 创建一个包含 10 个整数的数组
char[] array2 = new char[20];// 创建一个包含 20 个字符的数组
double[] array3 = new double[5];// 创建一个包含 5 个双精度浮点数的数组
string[] array4 = new string[3] { "hello", "world", "!" };// 创建一个包含 3 个字符串的数组,数组中初始化的元素为 "hello"、"world" 和 "!"

数组访问

数组访问通常使用下标操作符 [],即可访问数组中的元素:

数据类型[] 数组名 = new 数据类型[数组长度];
数组名[下标] = 值;//设置某个下标上的值
数据类型 变量名 = 数组名[下标];//获取某个下标上的值

下标从数组的开头开始,从 0 开始计数。下标最大值为数组长度减一。例如在一个长度为 5 的数组中,下标的有效值为 0、1、2、3、4。

以下是一个简单的例子,展示如何访问数组中的元素:

int[] array = new int[5] { 10, 20, 30, 40, 50 };

for (int i = 0; i < array.Length; i++) {
       Console.WriteLine("array[{0}] = {1}", i, array[i]);
}

输出:

array[0] = 10
array[1] = 20
array[2] = 30
array[3] = 40
array[4] = 50

多维数组

多维数组,如二维数组,可以使用下面的语法定义和初始化:

数据类型[,] 数组名 = new 数据类型[行数, 列数];

以下是一个二维数组的示例,展示了如何定义、初始化和访问它:

int[,] arr = new int[3, 4] {
    {0, 1, 2, 3},  /*  初始化索引号为 0 的行 */
    {4, 5, 6, 7},  /*  初始化索引号为 1 的行 */
    {8, 9, 10, 11} /*  初始化索引号为 2 的行 */
};

//输出二维数组的元素
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        Console.WriteLine("arr[{0},{1}] = {2}", i, j, arr[i, j]);
    }
}

输出:

arr[0,0] = 0
arr[0,1] = 1
arr[0,2] = 2
arr[0,3] = 3
arr[1,0] = 4
arr[1,1] = 5
arr[1,2] = 6
arr[1,3] = 7
arr[2,0] = 8
arr[2,1] = 9
arr[2,2] = 10
arr[2,3] = 11

数组的属性和方法

以下是一些常用的数组属性和方法:

Length 属性

获取数组中的元素个数。

int[] array = new int[5] { 10, 20, 30, 40, 50 };
Console.WriteLine(array.Length); // 输出 5

Rank 属性

获取数组的维数。

int[,] arr = newint[3, 4];
Console.WriteLine(arr.Rank); // 输出 2

GetLength 方法

获取数组中某个维度的长度。

int[,] arr = new int[3, 4];

Console.WriteLine(arr.GetLength(0)); // 输出 3,表示第一维度的长度
Console.WriteLine(arr.GetLength(1)); // 输出 4,表示第二维度的长度

Clone 方法

用于创建一个与原始数组相同的浅表副本。

int[] array1 = new int[] { 1, 2, 3, 4, 5 };
int[] array2 = (int[])array1.Clone();

Copy 方法

用于将一个数组中的元素复制到另一个数组中。

int[] array1 = new int[] { 1, 2, 3, 4, 5 };
int[] array2 = new int[5];
array1.CopyTo(array2, 0);//从第二个数组的 0 号下标开始拷贝

总结

本文介绍了 C# 数组的定义、初始化、访问、多维数组和一些常用的数组属性和方法。数组是一个非常方便的数据结构,可以存储大量的数据,应该在编写 C# 程序中经常使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#数组详解 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 详解VS2017 Linux 上.NET Core调试

    详解VS2017 Linux 上.NET Core调试 在本攻略中,我们将详细介绍如何使用Visual Studio 2017在Linux上调试.NET Core应用程序。我们将介绍如何配置调试环境、如何在Visual Studio中设置调试器,并提供两个示例说明。 配置调试环境 在将.NET Core应用程序调试到Linux上之前,需要进行以下准备工作: …

    C# 2023年5月16日
    00
  • ASP.NET Core中间件会话状态读写及生命周期示例

    ASP.NET Core中间件会话状态读写及生命周期示例 在ASP.NET Core应用程序中,会话状态是一种在多个请求之间保持数据的机制。在本攻略中,我们将详细讲解如何在ASP.NET Core中间件中读写会话状态,并介绍会话状态的生命周期。 步骤一:启用会话状态 在ASP.NET Core应用程序中启用会话状态,您需要在Startup.cs文件中调用Ad…

    C# 2023年5月17日
    00
  • C#使用webbrowser的常见用法实例

    下面是 “C#使用webbrowser的常见用法实例” 的攻略详解。 概述 在 C# 中,WebBrowser 是一个非常有用的控件,它允许我们向程序内嵌一个浏览器以便于在应用程序中显示网页。WebBrowser 常用于开发 Windows 程序,如桌面应用程序、测试工具、爬虫等等。本篇攻略将介绍 WebBrowser 的常见用法实例。 安装WebBrows…

    C# 2023年6月3日
    00
  • C#生成Word文件(图片、文字)

    下面是详细的C#生成Word文件(图片、文字)的攻略: 步骤一:引入依赖库 在C#中生成Word文件需要使用到Office.Interop.Word库,需要在项目中引用该库。可以通过NuGet包管理器或手动引用方式导入。 步骤二:创建Word文档并添加内容 首先,我们需要使用Interop库创建一个Word文档对象,代码如下: using Word = Mi…

    C# 2023年5月15日
    00
  • 使用C#程序验证系统登录用户与目录权限

    这里给出使用C#程序验证系统登录用户与目录权限的完整攻略。 确定验证方式 在C#程序中验证系统登录用户与目录权限,一般可以采用以下方式: Windows验证方式:使用当前登录用户的Windows账户进行身份认证; Forms验证方式:通过表单获取用户名和密码进行身份认证; Active Directory验证方式:将用户信息存储在Active Directo…

    C# 2023年6月7日
    00
  • C# File.SetAttributes(string path, FileAttributes attributes):设置指定文件或目录的属性

    File.SetAttributes(string path, FileAttributes attributes) 方法用于设置文件或文件夹的属性。它可以接受两个参数:第一个参数 path 是要设置属性的文件或文件夹的路径,第二个参数 attributes 是要设置的属性。attributes 参数可以是一个或多个 FileAttributes 枚举值的组…

    C# 2023年4月19日
    00
  • KMP算法的C#实现方法

    KMP算法的C#实现方法 概述 KMP算法是一种字符串匹配算法,可以用于快速查找一个字符串是否包含另一个字符串,或者在多个字符串中查找某个子串。该算法的基本思想是尽可能地避免重复匹配。通过预处理模式串的匹配数组,我们可以在匹配过程中跳过已经匹配过的部分,从而提高匹配效率。 算法实现 步骤一:求取模式串的匹配数组 首先,我们需要对模式串进行预处理,求取出模式串…

    C# 2023年6月7日
    00
  • C#难点逐个击破(8):可空类型System.Nullable

    C# 中的可空类型(Nullable Types)是一种特殊的数据类型,用于表示既可以拥有正常值,也可能为 null 的数据。可空类型的使用十分重要,它可以避免出现空值错误,提高代码的稳定性。 要使用可空类型,需要使用 System.Nullable 结构体来封装具体的数据类型 T。例如,如果要创建一个可空的 int 类型,可以这样定义变量: int? nu…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部