有关数组的定义我已经在 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类的学习,请大家多多支持,您的评论与建议是我完善自我的动力……^_^……谢谢……