C#数组

c#数组:
数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。声明数组变量并不是声明number0,number1,...number99一个个单独的变量,而是声明一个就像numbers这样的变量,然后使用number[0],number[1],..number[99]表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。
所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。
声明数组:
声明数组语法datatype [] arrName 
其中,datatype 用于指定被存储在数组中的元素的类型。
           [] 指定数组的(维度)。指定数组的大小。
             arrayName指定数组的名称。   例如:double []balance;
一维数组的声明方式
int[] myArray;
string[] myStrArr;
但是在访问数组之前必须初始化
C#数组的初始化方式有两种
第一种是在声明数组的时候为数组的元素赋初值:
int[] myArray = { 5, 9, 15, 22, 30 };
string[] myStrArr = { "diagram", "league", "brambling" };
另一种方式需要在声明数组时指定数组的大小(即数组的长度,数组元素的个数):
int[] myArray = new int[5];
string[] myStrArr = new string[3];
当然不一定非是数值,也可以是带有常量(const)关键字的变量:
const int arrSize = 5;
int[] myArray = new int[arrSize];
string[] myStrArr = new string[arrSize];
访问数组元素可以通过for循环和数组元素对应的下标:
int[] myArray = { 5, 9, 15, 22, 30 };
for (int i = 0; i < myArray.Length; i++)
{
Console.WriteLine("数组长度为{0},第{1}个元素是:{2}", myArray.Length, i, myArray[i]);
}
Console.ReadKey();
还可以用foreach访问数组的每个元素,但foreach循环对数组的内容进行只读访问,所以不能改变任何元素的值:
int[] myArray = { 5, 9, 15, 22, 30 };
foreach (int num in myArray)
{
Console.WriteLine("数组元素为:{0}", num);
}
Console.ReadKey();
二维数组的声明方式:
二维数组最简单的声明方式:
int[,] myIntArray;
string[,] myStrArray;
如下声明了一个4维数组:
int[,,,] myIntArray;
多维数组的声明方式只需要在二维数组的基础上添加多个逗号。
二维数组的初始化方式:
int[,] myIntArray = { { 1, 4, 7 }, { 2, 5, 8 }, { 3, 6, 9 } };
string[,] myStrArray = new string[3, 2];
二维数组一样通过下标访问数组元素:
myIntArray[1,2];  //结果为 8
myIntArray是一个3行3列的二维数组,所以myIntArray[1,2]中的1指的是数组myIntArray的第二个嵌套数组(数组下标识从0开始,所以1就是第二个了),myIntArray[1,2]中的2指的是数组myIntArray的第二个嵌套数组中的第三个元素,所以其值是8。
多维数组:
多维数组的两种声明和初始化方式,
第一种:
int[][] myIntArrays = new int[2][];
myIntArrays[0] = new int[3];
myIntArrays[1] = new int[4];
另一种方式:
int[][] myIntArrays = {new int[]{1,2,3},new int[]{2,3,4,5}};
访问多维数组的元素可以用foreach循环:
int[][] myIntArrays = {new int[]{1,2,3},new int[]{2,3,4,5}};
foreach (int[] numArr in myIntArrays)
{
  foreach (int num in numArr)
  {
    Console.WriteLine("数组元素为:{0}", num);
  }
}
输出结果为:
数组元素为:1
数组元素为:2
数组元素为:3
数组元素为:2
数组元素为:3
数组元素为:4
数组元素为:5
由此可以看出访问多维数组元素的顺序。
初始化数组:
注 访问数组之前必须初始化
(1)
声明数组的时候为数组的元素赋初值
(2)
声明数组时指定数组大小,也不一定是数值,也可以是带有常量(const)关键字的变量:const int arrSize=5; 
int [] myArray=new int {arrSize} 
string [] mystrarr=new string {arrSize};
5个元素,数组长度为5,表示为 数组名字.length
使用索引号赋值给一个单独的数组元素,比如:
double [] balance=new doule [10];
balance [0]=4500.0;
声明数组的同时给数组赋值,比如:
double [] balance ={234.0,4523.69,3421.0};
创建并初始化一个数组,比如:
int [] marks=new int [5]{99,98,97,96,95};
上述情况还可以省略数组的大小,比如:
int [] marks=new int []{99,98,97,96,95};
可以赋值一个数组变量到另一个目标数组变量中,在这种情况下,目标和源会指向相同的内存位置;
int[]marks=new int []{99,98,97,96,95};
int [] socre=marks;
posted @ 2018-09-26 20:56  黑域泡泡  阅读(288)  评论(0)    收藏  举报