C#学习日记16---引用类型 之 数组

       有关数组的定义我已经在    C#学习日记12---引用类型  中说到过了,这里就不罗嗦了,总的说来 数组 就是一组类型相同的有序数据,System.Array类是所有数组的基类,(好比 System.object 是所有类的基类一样)。

声明一个数组:

          int[] arr;  //这里我们只是声明了一个数组,没有初始化,还不能用。比如arr[0] = 1会报错

        由于以前写惯了C定义数组的方式,所以我写C#的时候时常会这样定义 int arr[]; 这样写对于C#来说是不合法的。

 

初始化数组:

        经过上面的步骤我们已经成功的声明了一个一维数组,C#中数组可以是一维也可以是多维的,同样也支持矩阵和参差不齐的数组,由于是新手我们先从一维数组学起,后面会涉及一些多维度的。

    对数组的初始化实质上是在为数组开辟存储空间以及赋予初始值默认初始值为0,当然也可以在初始化时对数组赋予指定的值。由于数组是引用类型的,所以需要使用new语句来创建数组实例:

             arr = new int[5];

     我们在初始化的时候在‘[]’里面定义了数组元素个数(5个),它的个数可以通过.Length访问 arry.Length;数组第一个元素对应的下标是0,后面依次+1。

 

赋值给数组:

     经过上面的2步我们已经成功创建了一个空间大小为 5*size(int) 的一维数组并给里面元素赋初始值0,比如我们输出arr中的第二个元素。Console.WriteLine(arr[1]);(第一个元素下标对应0,第二个对应1)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //声明数组
            arr = new int[5];     //初始化
            int i =arr.Length; //获取元素个数
            
            Console.WriteLine("value:{0}\nLength:{1}",arr[1],i);  //输出第二个元素的值,以及元素个数
        }
    }
}


结果如下:

 

   这里arr[1]的值是使用的默认值0,要人为的赋值可以有2种途径:

       

               1.  初始化的时候主动赋值;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //声明数组
            arr = new int[5]{1,2,3,4,5};     // 初始化并赋值
            int i =arr.Length; //获取元素个数
            
            Console.WriteLine("value:{0}\nLength:{1}",arr[1],i);  //输出第二个元素的值,以及元素个数
        }
    }
}

 其实在初始化赋值的时候还可以这样:

         int[] arr = {1,2,3,4,5}      //连大小都不用写了 

 

       2.  访问每一个元素并更改默认值;

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //声明数组
            arr = new int[5];     // 初始化并赋值
            int i =arr.Length; //获取元素个数
            //挨个访问并赋值 1,2,3,4,5
            for (int j=0;j<i;j++)
            {
                arr[j] = j + 1;
 
            }
            
            Console.WriteLine("value:{0}\nLength:{1}",arr[1],i);  //输出第二个元素的值,以及元素个数
        }
    }
}


foreach()语句:

      在上面的实例中,我们使用一个 for 循环来访问每个数组元素并赋值。现在学习使用一个foreach 语句来遍历数组并输出所有结果。foreach语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。 如果需要在源集合中添加或移除项,请使用 for 循环。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //声明数组
            arr = new int[5];     // 初始化并赋值
            int i =arr.Length; //获取元素个数
                       //挨个访问并赋值 1,2,3,4,5
            for (int j=0;j<i;j++)
            {
                arr[j] = j + 1;
 
            }
                      //foreach 遍历语句
            foreach (int j in arr)
            {
              Console.WriteLine("arr[{0}] value:{1}",j-1,j);   //遍历并输出
              
            }
            
        }
    }
}


运行结果:

 

 

 

   有关一维数组的用法就简单的介绍在这里了,后面还会有多维数组、交错数组、参数数组、Array类的学习,请大家多多支持,您的评论与建议是我完善自我的动力……^_^……谢谢……

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章