学习Visual C
创始人
2024-05-08 03:21:36
0

存储相关数据项组是大多数软件应用程序的一项基本要求;这可以通过使用Visual C#数组与集合这两种主要方式来实现。

Visual C#数组

数组是相同类型的对象的集合。由于数组几乎可以为任意长度,因此可以使用数组存储数千乃至数百万个对象,但必须在创建数组时就确定其大小。数组中的每项都按索引进行访问,索引是一个数字,指示对象在数组中的存储位置或槽。数组既可用于存储 引用类型,也可用于存储 值类型。

一维数组

数组是一个经过索引的对象集合。一维对象数组的声明如下:

type[] arrayName;

一般会同时初始化数组中的元素,如下所示:

C#

  1. int[] array = new int[5]; 

数值数组元素的默认值为零,引用元素的默认值为 null,但您可以在创建数组的过程中初始化值,如下所示:

C#

  1. int[] array1 = new int[] { 1, 3, 5, 7, 9 }; 

或者甚至这样来初始化:

C#

  1. int[] array2 = {1, 3, 5, 7, 9}; 

数组的索引从零开始,因此数组中的***个元素为元素 0。

C#

  1. string[] days = {"Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"}; System.Console.WriteLine(days[0]); // Outputs "Sun"  

多维数组

从概念上来说,两维数组类似于网格,三维数组则类似于立方体。

C#

Visual C#数组与集合代码 

交错数组

多维数组的一种变体是交错数组,即由数组组成的数组。交错数组是一维数组,且每个元素自身是一个数组。作为元素的数组无需均为相同的大小。

声明交错数组的方式如下:

C#

  1. int[][] jaggedArray = new int[3][]; 

这样做会创建一个有 3 个数组的数组。这些数组可以按如下方式初始化:

C#

  1. jaggedArray[0] = new int[5]; jaggedArray[1] = new int[4]; jaggedArray[2] = new int[2]; 

使用 foreach 语句

foreach 语句通常用来访问数组中存储的每个元素:

C#

Visual C#数组与集合

对象数组

创建对象数组(而非创建像整数这样的简单数据类型的数组)的过程分为两个部分。首先声明数组,然后必须创建存储在数组中的对象。本示例创建一个定义一个音频 CD 的类。然后创建一个存储 20 个音频 CD 的数组。

C#

Visual C#数组与集合 

对于使用 C# 存储数据集而言,Visual C#数组只是众多选择中的一种。而具体的选择取决于若干因素,如操作或访问项所要采取的方式。例如,如果需要在集合的开头或中间插入项,则“列表”的速度一般比数组快。其他类型的集合类包括映射、树和堆栈,每种类型均有各自的优点。有关更多信息,请参见 System.Collections 和 System.Collections.Generic。

下面的示例显示如何使用 List< (Of < (T>)>) 类。注意,与 Array 类不同,可以在列表中间插入项。本示例限制列表中的项必须是字符串。

C#

Visual C#数组与集合 

【编辑推荐】

  1. 看看C# Hook 如何实现
  2. 学习C#虚函数实例演示
  3. 一个C#数据访问XML的例子
  4. C#特性之通俗演义
  5. 探寻C# 3.5新特性

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...