zoukankan      html  css  js  c++  java
  • c# 数组

    什么是数组?

    数组是一种数据结构,包含同一种数据类型的多个元素。

    2 数组的声明?

    int [] Num;  注:声明数组时,方括号 ([]) 必须跟在类型后面,而不是变量名后面。在 C# 中,将方括号放在变量名后是不合法的语法

    数组的初始化:

    我们知道数组是引用类型,所以需要给他分配堆上的内存。
    1.myIntArray = new int[3];
    2.myIntArray = new int[] { 1, 2, 3 };
    3.int[] myIntArray = { 1, 2, 3 };  //当使用这种方法对数组进行初始化时,只能在声明变量数组时使用,不能在声明数组之后使用。

    数组的访问:

    数组在声明和初始化后,可以使用索引器进行访问,索引器总是以0开头,表示第一个元素。

                int[] myIntArray = { 1, 2, 3 };
                Console.WriteLine("intValue = {0}", myIntArray[0]);
                Console.Read();

    结果为:intValue = 1
    数组的类型:
    1.多维数组:
    一般的数组(也称一维数组)用一个整数来索引,多维数组用两个或多个整数来索引。

    复制代码
     static void Main(string[] args)
            {
                //声明一个二维数组  两行三列
                int[,] myIntArray1;
                myIntArray1 = new int[2, 3];
                myIntArray1[0, 0] = 1;
                myIntArray1[0, 1] = 11;
                myIntArray1[0, 2] = 111;
                myIntArray1[1, 0] = 2;
                myIntArray1[1, 1] = 22;
                myIntArray1[1, 2] = 222;
                Console.WriteLine("{0},{1},{2}", myIntArray1[0, 0], myIntArray1[0, 1], myIntArray1[0, 2]);
                Console.WriteLine("{0},{1},{2}", myIntArray1[1, 0], myIntArray1[1, 1], myIntArray1[1, 2]);
                Console.Read();
            }
    复制代码

    结果为:

    复制代码
     static void Main(string[] args)
            {
                //声明一个二维数组  三行三列
                int[,] myIntArray2;
                myIntArray2 = new int[,] { { 1, 11, 111 }, { 2, 22, 222 }, { 3, 33, 333 }, { 4, 44, 444 } };
    
                Console.WriteLine("{0},{1},{2}", myIntArray2[0, 0], myIntArray2[0, 1], myIntArray2[0, 2]);
                Console.WriteLine("{0},{1},{2}", myIntArray2[1, 0], myIntArray2[1, 1], myIntArray2[1, 2]);
                Console.WriteLine("{0},{1},{2}", myIntArray2[2, 0], myIntArray2[2, 1], myIntArray2[2, 2]);
                Console.WriteLine("{0},{1},{2}", myIntArray2[3, 0], myIntArray2[3, 1], myIntArray2[3, 2]);
                Console.Read();
            }
    复制代码

    结果为:

    复制代码
    static void Main(string[] args)
            {
                //声明一个三维数组  三行三列
                int[, ,] myIntArray3;
                myIntArray3 = new int[,,] { { {1,1}, {11,11}, {111,111} }, 
                                            { {2,2}, {22,22}, {222,222} }, 
                                            { {3,3}, {33,33}, {333,333} }, 
                                            { {4,4}, {44,44}, {444,444} } 
                                          };
    
                Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[0, 0, 0], myIntArray3[0, 0, 1], myIntArray3[0, 1, 0], myIntArray3[0, 1, 1], 
    myIntArray3[0, 2, 0], myIntArray3[0, 2, 1]); Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[1, 0, 0], myIntArray3[1, 0, 1], myIntArray3[1, 1, 0], myIntArray3[1, 1, 1], myIntArray3[1, 2, 0], myIntArray3[1, 2, 1]); Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[2, 0, 0], myIntArray3[2, 0, 1], myIntArray3[2, 1, 0], myIntArray3[2, 1, 1], myIntArray3[2, 2, 0], myIntArray3[2, 2, 1]); Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[3, 0, 0], myIntArray3[3, 0, 1], myIntArray3[3, 1, 0], myIntArray3[3, 1, 1], myIntArray3[3, 2, 0], myIntArray3[3, 2, 1]); Console.Read(); }
    复制代码

    结果为:

    2.锯齿数组:
    一般多维数组的大小是矩形的,而锯齿数组的大小比较灵活,每一行都可以有不同的大小。


    在初始化锯齿数组时,先设置该数组包含的行数。定义各行中元素个数的第二个括号设置为空,因为这类数组的每一行包含不同的元素数。

    复制代码
    static void Main(string[] args)
            {
                //声明一个锯齿数组  三行
                int[][] myIntArray4;
                myIntArray4 = new int[3][];
    
                myIntArray4[0] = new int[] { 1,11,111};
                myIntArray4[1] = new int[2] { 2, 22 };
                myIntArray4[2] = new int[] { 3,33,333,3333};
    
                for (int i = 0; i < myIntArray4.Length; i++)
                {
                    for (int j = 0; j < myIntArray4[i].Length; j++)
                    {
                        Console.WriteLine("{0}",myIntArray4[i][j]);
                    }
                }
                Console.Read();
            }
    复制代码

    结果为:




  • 相关阅读:
    读书笔记之理想设计的特征
    一些javascript 变量声明的 疑惑
    LINQ 使用方法
    Google MySQL tool releases
    读书笔记之设计的层次
    EF之数据库连接问题The specified named connection is either not found in the configuration, not intended to be used with the Ent
    转载 什么是闭包
    javascript面向对象起步
    Tips
    数据结构在游戏中的应用
  • 原文地址:https://www.cnblogs.com/yachao1120/p/6804337.html
Copyright © 2011-2022 走看看