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. 使用python解析Json字符串-获取Json字符串关键字

    import json data = { "statusCode": 0, "data": { ", "height": &quo ...

  2. java基础-继承

    浏览以下内容前,请点击并阅读 声明 一个由其他类继承的类叫子类(也叫继承类,扩展类等),该类继承的类叫父类或超类.除了Object类意外,所有的类都有切仅有一个父类,如果一个类没有用extends关键 ...

  3. Spring Autowired 注入失败总是Null

    报错:NullPointerException 分析:错误原因是注入失败? <context:annotation-config/> <context:component-scan ...

  4. Unity Lightmap动态加载研究

    什么情况下需要Lightmap? 移动平台上目前暂时还不能开实时光影效果,会卡成幻灯片.所以就需要将光影烘焙到贴图上. 什么情况下需要动态加载Lightmap? 1.当项目抛弃了Unity的多场景模式 ...

  5. MongoDB-C#驱动基本操作

    #region IMongoQuery //Query.EQ("", val);//字段值=val //Query.NE("", val);//字段值!=val ...

  6. docker 配置文件引发的问题

    好久没有配置 vmware / harbor 了,突然间来了兴趣,结果让我失望了,登陆反复的被refused; 这个是配置文件地址:https://github.com/vmware/harbor/b ...

  7. SqlServer操作大全

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  8. Java虚拟机各内存区域的位置及功能的介绍

    Java虚拟机运行时数据区: 相关区域介绍: 程序计数器: 功能:当前线程所执行字节码的行号指示器.若是Java方法记录指令地址,若为Native方法,则不记录 隔离性:线程隔离 Error:无 Ja ...

  9. NSDecimalNumber用于精度准确的计算

    在处理金额计算时,往往会涉及到小数,由于Double类型不准确,无法做到产品的要求.为了保证金额计算的准确性,建议使用NSDecimalNumber. 1.创建对象(常用的方法) // mantiss ...

  10. 解决FTP的URL访问不能有中文名称的问题,报java.lang.IllegalArgumentException

    最近一个项目要用到FTP做上传下载,我访问ftp的url中有中文名称,结果每次都报如下错: 1 Exception in thread "main" java.lang.Illeg ...