C#数组

来源:互联网 发布:php自定义加密 编辑:程序博客网 时间:2024/05/16 10:00
  1. using System;
  2. namespace testArrayApp
  3. {
  4.  /**//**//**//// <summary>
  5.  /// Class1 的摘要说明。
  6.  /// </summary>
  7.  class Class1
  8.  {
  9.   /**//**//**//// <summary>
  10.   /// 应用程序的主入口点。
  11.   /// </summary>
  12.   [STAThread]
  13.   static void Main(string[] args)
  14.   {
  15.    //
  16.    // TODO: 在此处添加代码以启动应用程序
  17.    //
  18.    //声明一维数组,没有初始化,等于null
  19.    int[] intArray1;
  20.    //初始化已声明的一维数组
  21.    intArray1 = new int[3];
  22.    intArray1 = new int[3]{1,2,3};
  23.    intArray1 = new int[]{1,2,3};
  24.    
  25.    //声明一维数组,同时初始化
  26.    int[] intArray2 = new int[3]{1,2,3};
  27.    int[] intArray3 = new int[]{4,3,2,1};
  28.    int[] intArray4 = {1,2,3,4};
  29.    string[] strArray1 = new string[]{"One","Two","Three"};
  30.    string[] strArray2 = {"This","is","an","string","Array"};
  31.    
  32.    //通过数组索引(下标),对元素访问
  33.    if (intArray1[2] > intArray2[0])
  34.    {
  35.     //把一维数组作为方法中的参数
  36.     Write_1DArray(intArray1);
  37.     Write_1DArray(strArray2);
  38.    }
  39.    //直接创建一维数组,作为方法参数
  40.    Write_1DArray(new int[]{2,3,4,5});
  41.    Write_1DArray(new String[]{"Hello","My","Friends"});
  42.    
  43.    //声明二维数组,没有初始化
  44.    short[,] sArray1;
  45.    //初始化已声明的二维数组
  46.    sArray1 = new short[2,2];
  47.    sArray1 = new short[2,2]{{1,1},{2,2}};
  48.    sArray1 = new short[,]{{1,2,3},{4,5,6}};
  49.    
  50.    //声明二维数组,同时初始化
  51.    short[,] sArray2 = new short [1,1]{{100}};
  52.    short[,] sArray3 = new short [,]{{1,2},{3,4},{5,6}};
  53.    short[,] sArray4 = {{1,1,1},{2,2,2}};
  54.    //声明三维数组,同时初始化
  55.    byte[,,] bArray1 = {{{1,2},{3,4}},{{5,6},{7,8}}};
  56.    //把二维数组作为方法的参数
  57.    Write_2DArray(sArray1);
  58.    //直接创建二维数组,作为方法参数
  59.    Write_2DArray(new short[,]{{1,1,1},{2,2,2}});
  60.    
  61.    //声明交错数组,没有初始化
  62.    int[][] JagIntArray1;
  63.    //初始化已声明的交错数组
  64.    JagIntArray1 = new int [2][] {
  65.            new int[]{1,2},
  66.            new int[]{3,4,5,6}
  67.           };
  68.    JagIntArray1 = new int [][]{
  69.              new int[]{1,2},
  70.              new int []{3,4,5},
  71.              intArray2 //使用int[]数组变量
  72.             };
  73.    //声明交错数组,同时初始化
  74.    int[][] JagIntArray2 = {
  75.             new int[]{1,1,1},
  76.             new int []{2,2},
  77.             intArray1
  78.                       };
  79.    //把交错数组作为方法参数
  80.    Write_JagArray(JagIntArray1);
  81.   }
  82.   private static void Write_1DArray(int[] ArrayName)
  83.   {
  84.    //一维数组的Length属性就是元素个数
  85.    for (int i=0;i<ArrayName.Length ;i++)
  86.    { //通过数组名[索引]访问数组元素
  87.     Console.Write(ArrayName[i]+" ");
  88.    }
  89.    Console.WriteLine ();
  90.   }
  91.   private static void Write_1DArray(string[] ArrayName)
  92.   { //一维数组的Length属性就是元素个数
  93.    for (int i=0;i<ArrayName.Length;i++)
  94.    { //通过"数组名[索引]"访问数据元素
  95.     Console.Write(ArrayName[i]+" ");
  96.    }
  97.    Console.WriteLine ();
  98.   }
  99.   private static void Write_2DArray(short[,] ArrayName)
  100.   { //多维数组使用GetLength方法得到每一维的长度
  101.    for (int i=0; i<ArrayName.GetLength ;i++)
  102.    {
  103.     Console.Write("二维数组第{0}行:",i+1);
  104.     for (int j=0;j<ArrayName.GetLength(1);j++)
  105.     { //多维数组通过"数组名[索引,索引..]"访问数据元素
  106.      Console.Write (ArrayName[i,j]+" ");
  107.     }
  108.     Console.WriteLine ();
  109.    }
  110.   }
  111.   private static void Write_JagArray(int[][] ArrayName)
  112.   { //交错数组的Length属性是包含子数组的个数
  113.    for (int i=0;i<ArrayName.Length;i++)
  114.    {
  115.     Console.Write("交错数组第{0}个子数组:",i+1);
  116.     //二维交错数组的子数组是一维数组,使用Length属性得到元素数
  117.     for (int j=0;j<ArrayName[i].Length ;j++)
  118.     { //交错数组通过"数组名[索引][索引]"访问数据元素
  119.      Console.Write (ArrayName[i][j]+" ");
  120.     }
  121.     Console.WriteLine();
  122.    }
  123.   }
  124.  }
  125. }
原创粉丝点击