数组是一个存储相同元素的固定大小的顺序集合.数组是用来存储数据的集合.通常认为数组是一个同一类型变量的集合.
声明数组变量并不是声明 number0 number1.... number98 number99 一个单独的变量,而是声明一个就像numbers这样的变量,然后使用numbers[0] numbers[1]...numbers[99]表示一个个单独的变量.数组中某个指定的元素通过索引来访问的.
所有数组都是由连续的内存位置组成的.最低的地址对应第一个元素,最高的地址对应组最后一个元素.
声明数组
datatype[] arrayName
datatype:用于指定被存储在数组的元素的类型
[] :数组的秩(维度). 秩:数组的大小(长度)
arrayName: 数组的名字
例如: int[] a;
初始化数组
声明数组不会在内存中初始化数组.初始化数组变量时,您可以赋值给数组
数组是一个引用类型,所以您需要使用"new"关键字来实例化
例: int[] a=new int[10] ;
a[0]=1;
赋值给数组
可以通过使用索引号赋值给单独的数组元素
int[] a=new int[10];
a[0]=10;
在声明数组的同时给数组赋值:
int[] a={10,20,30};
根据上述,也可以省略数组的大小:
int[] a=new int[] {10, 12, 13, 14};
赋值一个数组变量到另一个目标数组变量中.在内存中,目标和源指向形同的内存位置:
int [] a=new int[] {12,13,145,15,15,15};
int [] b=a;
当创建数组的时,C#编译器会根据数组类型隐式初始化每个数组元素为一个默认值.
比如说 int数组的所有元素都会被初始化为0.
访问数组元素
元素是通过带索引的数组名称来访问的.也就是我们俗称的数组的 "下标"
例如如下代码:
using System;
namespace ArrayApplication
{
class myArray{
static void Main(string[] args){
int [] a=new int[20];
int i,j;
for(i=0;i<20;i++){
a[i]=i+100;
}
for(j=0;j<20;j++){
Console.WriteLine("数组[{0}] = {1}",j,a[j]);
}
Console.ReadKey();
}
}
}
执行结果
使用foreach循环
using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int [] n = new int[20]; /* n 是一个带有 10 个整数的数组 */
/* 初始化数组 n 中的元素 */
for ( int i = 0; i < 20; i++ )
{
n[i] = i + 100;
}
/* 输出每个数组元素的值 */
foreach (int j in n )
{
int i = j-100;
Console.WriteLine("数组[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}
执行结果