数组

2019-03-07  本文已影响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"));



二维数组:

矩阵数组

二维数组——锯齿数组

上一篇下一篇

猜你喜欢

热点阅读