C#一维数组的声明方式

int[] myArray;

string[] myStrArr;

但是在访问数组之前必须初始化。

C#数组的初始化方式有两种,第一种是在声明数组的时候为数组的元素赋初值:

int[] myArray = { 5, 9, 15, 22, 30 };
string[] myStrArr = { "diagram", "league", "brambling" };

另一种方式需要在声明数组时指定数组的大小(即数组的长度,数组元素的个数):

int[] myArray = new int[5];
string[] myStrArr = new string[3];

当然不一定非是数值,也可以是带有常量(const)关键字的变量:

const int arrSize = 5;
int[] myArray = new int[arrSize];
string[] myStrArr = new string[arrSize];

访问数组元素可以通过for循环和数组元素对应的下标:

int[] myArray = { 5, 9, 15, 22, 30 };
for (int i = 0; i < myArray.Length; i++)
{
Console.WriteLine("数组长度为{0},第{1}个元素是:{2}", myArray.Length, i, myArray[i]);
}
Console.ReadKey();

还可以用foreach访问数组的每个元素,但foreach循环对数组的内容进行只读访问,所以不能改变任何元素的值:

int[] myArray = { 5, 9, 15, 22, 30 };
foreach (int num in myArray)
{
Console.WriteLine("数组元素为:{0}", num);
}
Console.ReadKey();

二维数组:

二维数组最简单的声明方式:

int[,] myIntArray;
string[,] myStrArray;

如下声明了一个4维数组:

int[,,,] myIntArray;

多维数组的声明方式只需要在二维数组的基础上添加多个逗号。

二维数组的初始化方式:

int[,] myIntArray = { { 1, 4, 7 }, { 2, 5, 8 }, { 3, 6, 9 } };
string[,] myStrArray = new string[3, 2];

二维数组一样通过下标访问数组元素:

myIntArray[1,2];  // 8

myIntArray是一个3行3列的二维数组,所以myIntArray[1,2]中的1指的是数组myIntArray的第二个嵌套数组(数组下标识从0开始,所以1就是第二个了),myIntArray[1,2]中的2指的是数组myIntArray的第二个嵌套数组中的第三个元素,所以其值是8。

多维数组:

多维数组的两种声明和初始化方式,第一种:

int[][] myIntArrays = new int[2][];
myIntArrays[0] = new int[3];
myIntArrays[1] = new int[4];

另一种方式:

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

访问多维数组的元素可以用foreach循环:

int[][] myIntArrays = {new int[]{1,2,3},new int[]{2,3,4,5}};
foreach (int[] numArr in myIntArrays)
{
  foreach (int num in numArr)
  {
    Console.WriteLine("数组元素为:{0}", num);
  }
}

输出结果为:

数组元素为:1
数组元素为:2
数组元素为:3
数组元素为:2
数组元素为:3
数组元素为:4
数组元素为:5

由此可以看出访问多维数组元素的顺序。

第一次发博客,博客是最近几天才开的,原因只是因为自己太菜了,所以想记录下平时学习的一些东西。如果能帮到他人,我将深感荣幸!

C#数组的声明的更多相关文章

  1. 关于offsetWidth,offsetHeight,offsetTop,offsetLeft和二维数组的声明

    offsetWidth,offsetHeight,offsetTop,offsetLeft 为只读状态,返回的值是int形式 只读形式即不能通过修改其值的大小. 想要修改某元素的这些值的大小(widt ...

  2. js数组的声明与应用

    js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...

  3. Java 声明和访问控制(一) 数组的声明 private可以修饰类吗

    数组的声明: int []a[] = new int[4][];//是正确的 int[] array = new int[2]{1,2};//是错误的 数组的长度是不可改变的,不能通过任何方式改变大小 ...

  4. 关于Delphi中二维数组的声明和大小调整(对非基本类型数据,小心内存泄漏)

    这是一个实例: procedure TMainForm.Button1Click(Sender: TObject);var  arr:array of array of string;begin  s ...

  5. java数组的声明由几种方式

    数组的声明由几种方式: 1,String []a = new String[length];再赋值 a[0]=?;....... 2,new完就直接初始化: String []a = new Stri ...

  6. Java数组的声明和遍历

    Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...

  7. java数组的声明、创建和遍历

    一.数组的声明.创建 1.一维数组 先是声明 dataType[] arrayRefVar; // 首选的方法 数据类型[] 数组名; dataType arrayRefVar[]; // 效果相同, ...

  8. C++二维数组讲解、二维数组的声明和初始化

    我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...

  9. AJPFX关于一维数组的声明与初始化

    一维数组:可以理解为一列多行.类型相同的数据,其中每个数据被称为数组元素:一维数组的声明方式:                type varName[]; 或 type[] varName;(推荐) ...

随机推荐

  1. 我的jQuery源码读后感-jquery1.11.x 集成了 AMD

    jquery1.11.x 集成了 AMD AMD 加入到了 jQuery, jQuery 把源码切分成各个逻辑模块. ready 整合成依赖 Deferred 的模块. 有些模块被切分成一些更加利于维 ...

  2. Servlet和Struts2同时使用

    在做WEB项目时,要么是Struts+Spring+Hibernate,要是就直接使用servlet.这次碰到一个项目,经理想要把之前一个用servlet做的部分模块移植到当前项目下(Struts+S ...

  3. HTML5 WEB SQL

    var database = openDatabase("student1", "1.0", "学生表", 1024 * 1024, fun ...

  4. Oracle EBS - TNS

    TNS Setting: DEV5.VIASYSTEMS.COM=  (DESCRIPTION=    (ADDRESS=      (PROTOCOL=TCP)      (HOST=10.1.50 ...

  5. C语言3

    C语言的学习已经进入尾声,再过几天就要考试了,今天我们用C语言做了一个推箱子的游戏.就相当于复习以前的知识啦,但是感觉好难啊,但是老师教我们用函数的思想,让我们"分",把问题分解开 ...

  6. VirtualBox + CentOS 使用 NAT + Host-Only 方式联网

    之前一直使用 VMware 作为虚拟机,这几天看<跟阿铭学Linux>,里面用的是虚拟机是 Oracle VirtualBox,也跟着安装配置一个,但是比较坑的是照着上面的配置折腾了很久才 ...

  7. ComboSelect 下拉筛选

    Jquery Combo Select下拉筛选 http://www.dowebok.com/179.html

  8. Yii源码阅读笔记(三十三)

    ServiceLocator,服务定位类,用于yii2中的依赖注入,通过以ID为索引的方式缓存服务或则组件的实例来定位服务或者组件: namespace yii\di; use Yii; use Cl ...

  9. c# TimeSpan

    转自:http://blog.163.com/y_p_xu/blog/static/17085710220116472030543/ /// <summary>        /// 将时 ...

  10. yum安装配置

    1.删除redhat原有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 2.下载yum安装文件 http://mirrors.163.com/centos/6/ ...