数组

作者: 混世小码农 | 来源:发表于2019-03-07 13:05 被阅读0次

    数组的定义:存储相同数据的集合.

    定义了一个长度为4的整型数组,这个数组只能存整型数据

         第一种写法:动态分配空间

          int[] intArray = new int[4];

          第二种写法

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

    初始化数组的时候,要么给定长度,要么初始化数组内的元素个数

         第三种写法

          int[] intArray = {1,2,3,4};

    实际上intArray[] 她的原型为Array

    而int[] 数组可以用foreach循环的原因归根结底为:Array类本身已经实现了IEnumrable这个接口

    访问数组的元素

           访问数组第0个位置存储的元素

           Console.WriteLine("数组第0个位置存储的元素为:" + intArray[0]);

           访问数组第4个位置存储的元素----- 访问越界(程序崩溃)

           Console.WriteLine ("数组第4个位置存储的元素为:" + intArray [4]);

    //遍历数组1

         for (int i = 0; i < intArray.Length; i++) {

                    Console.WriteLine ("下标:{0},值为:{1}", i, intArray [i]);

          }

    //遍历数组2

          foreach (int item in intArray) {

                     Console.WriteLine ("数组的元素为:" + item);

          }

    如何修改数组中的元素呢?--->通过索引取值进行赋值

            //intArray[2] = 10.0f;  这是错误的因为数据类型不对

             intArray[2] = 10;


    Array抽象类型的抽象数组(了解)

    Array arr = Array.CreateInstance (typeof(int), 5);

             arr.SetValue (1, 0);

             arr.SetValue (2, 1);

             arr.SetValue (3, 2);

             for (int i = 0; i < 5; i++) {

            Console.WriteLine (arr.GetValue(i));

    }

            //把arr数组转换成int[]数组

           int[] newIntArray = (int[])arr;

           foreach (int item in newIntArray) {

           Console.WriteLine (item);

    }


    //ArraySegmentint<T>

    int[] intArray1 = { 1, 2, 3, 4 };

    int[] intArray2 = { 5, 6, 7, 8 };

    var se1 = new ArraySegment<int>[2] {

          new ArraySegment<int>(intArray1,0,3),

          new ArraySegment<int>(intArray2,3,1)

    };

    ArraySegmentse<int> se = (ArraySegment<int>[])se1;

    Print (se1);


    //练习4:定义一个整型数组,初始化3个整型元素,打印出最大值,最小值,以及平均值.

    float[] m = new float[3];

    m.SetValue (2.0f, 0);

    m.SetValue (5.0f, 1);

    m.SetValue (3.0f, 2);

    float max = m[0], min = m[0], avg = 0,sum=m[0],index=1;

    for (int i = 1; i < m.Length; i++) {

          sum += m [i];

          index++;

          avg = sum / index;

         if (max<m[i]) {

                  max = m [i];

          }

         if (min>m[i]) {

               min = m [i];

         }

    }

    Console.WriteLine ("最大{0}最小{1}平均{2}",max.ToString("f2"),min.ToString("f2"),avg.ToString("f2"));



    二维数组:

    矩阵数组

    二维数组——锯齿数组

    相关文章

      网友评论

          本文标题:数组

          本文链接:https://www.haomeiwen.com/subject/sbffmttx.html