数组的属性:

  • 数组可以是一维、多维或交错的。

  • 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。

  • 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null

  • 数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1

  • 数组元素可以是任何类型,包括数组类型。

  • 数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。

我对数组的理解:在 C# 中,数组实际上是对象,而不只是像 C 和 C++ 中那样的可寻址连续内存区域

一维数组 :一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。

一维数组实例:

1
2
3
4
5
6
7
8
9
10
11
12
static class Program
    {
        
        
        static void Main()
        {
            //一维数组
            int[] arry = new int[9] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            arry[0] = 2;//第一行为2
            Console.WriteLine(arry);
   }
}
1
<br>

运行结果截图

二维数组实例

1
2
3
4
5
6
7
8
9
10
11
12
//二维数组
 
            int[,] arry2 = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
            arry2[1, 0] = 5;//改变第二列的第一行为5
 
            for (int i = 0; i < arry2.GetLength(1); i++)
            {
                for (int y = 0; y < arry2.GetLength(1); y++)//第一个for循环遍历二维数组的列,第二个for循环遍历二维数组的行
                {
                    Console.Write(arry2[i, y]);
                }
            }

运行结果截图

交错数组实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//交错数组
          int[][] arry3 = new int[3][];//交错数组必须指定下标的个数
 
          arry3[0] = new int[] { 0, 1, 2, 4 };
          arry3[1] = new int[] { 3, 4, 5, 6 };
          arry3[2] = new int[] { 4, 8, 9 };
          for (int x = 0; x < arry3.Length; x++)
          {
              for (int z = 0; z < arry3[x].Length; z++)
              {
                  Console.Write(arry3[x][z]);
              }
              Console.WriteLine();//以inti的数组元素为准进行换行.
          }

运行结果截图

C# 还提供 foreach 语句。该语句提供一种简单、明了的方法来循环访问数组的元素,看下面实例。

1
2
3
4
5
6
7
8
9
static void Main()
        {
int [] arry4=new int[100];
 
            foreach (int a in arry)
            {
                Console.Write(arry);
            }
}

运行结果截图

【完美世界 http://www.23cat.com/Contents_51864.html】
【戮仙 http://www.23cat.com/Book_51960.html】

C# 数组基础知识的更多相关文章

  1. PHP 数组基础知识

    php 数组基础知识function abc($a,$b,$c = 0){ echo $a,$b,$c;}abc(1,3); //调用方法 ////可变参数function def(){ $arr = ...

  2. java中的二维数组基础知识

    二维数组基本知识,毕竟常见的有:概念,初始化,遍历 概念: 理解二维数组,首先要先理解一维数组是什么.一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍).二维数组就是用来存储一维 ...

  3. java数组基础知识

    数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储. 数组的遍 ...

  4. js数组基础知识链接

    http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html 小案例:   <script language=&quo ...

  5. php数组基础知识

    php数组 <?php $kele = array('张三',10 => '李四', 'PHP中文网' , '去PHP中文网学PHP', 19 => '王二' , '小明'); // ...

  6. JavaScript 数组基础知识

    // Array 类型: // 检测数组: // console.log(myarr instanceof Array) //true // toString()方法会返回由数组中每个值的字符串形式拼 ...

  7. Json数组基础知识

    1.对象是一个无序的“‘名称/值’对”集合. (1)一个对象以“{”(左括号)开始,“}”(右括号)结束. (2)每个“名称”后跟一个“:”(冒号): (3)“‘名称/值’ 对”之间使用“,”(逗号) ...

  8. JS基础语法---数组基础知识总结

     数组: 存储一组有序的数据  数组的作用: 一次性存储多个数据 数组的定义方式: 1.构造函数定义数组: var 数组名=new Array(); 2.字面量方式定义数组: var 数组名=[]; ...

  9. PHP基础入门(四)---PHP数组实用基础知识

    PHP数组 数组是特殊的变量,它可以同时保存一个以上的值. ***关键词:数组基础.数组遍历.超全局数组.数组功能.数组函数. 下面来和大家分享一下有关PHP的数组基础知识,希望对你PHP的学习有所帮 ...

随机推荐

  1. ubuntu18.04初始化配置

    目录 ubuntu18.04初始化配置 ifconfig sshd smb other vim 配置 最后 ubuntu18.04初始化配置 虚拟机挂了, 又得重新安装配置一遍, 这里记录了我几乎每次 ...

  2. css样式大全整理

    字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 {font-style: obl ...

  3. Android五个进程等级(转)

    Android五个进程等级 1.前台进程(Foreground process): 用户当前工作所需要的.一个进程如果满足下列任何条件被认为是前台进程: 正运行着一个正在与用户交互的活动(Activi ...

  4. BZOJ3616 : War

    对每个点维护一个bitset,记录哪些点可以攻击它. 可以通过kd-tree+标记永久化实现. 对于一个阵营,它在m轮之后防御系统全部完好的概率为$(1-\frac{攻击它的点数}{n})^m$. 时 ...

  5. BZOJ3518 : 点组计数

    若直线的斜率为0或者不存在斜率,则有$nC(m,3)+mC(n,3)$种方案.若直线的斜率不为0,只需考虑斜率为正的情况,最后答案再乘以2即可.枚举两个点的坐标差,设$t=\min(n,m)$,则有: ...

  6. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem I. Alien Rectangles 数学

    Problem I. Alien Rectangles 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c ...

  7. mySql---数据库索引原理及优化

    一.写在前面 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型 ...

  8. Ubuntu Java7 SDK环境变量配置(转)

    1.去甲骨文官网下载java7 sdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 这里笔者下载了最新的jav ...

  9. Versaloon -- Connect To Targets

    Versaloon Full open-source(GPLv3) platform for multiple applications, including programmer, debugger ...

  10. USB设备的插入和弹出的监听以及软弹出可移动媒体(如Windows的移除USB设备) .

    一.监听USB设备的插入和弹出 当USB设备插入或者弹出时,Windows会产生一条全局消息:WM_DEVICECHANGE 我们需要做的是,获得这条消息的wParam参数,如果为DBT_DEVICE ...