一、一维数组
1.数组的定义方式
基本定义(1)整形数组 int [] +数组名 eg:int [] myarr
(2)双精度数组 double []+数组名 eg:double [] b //双精度数组b
(3)字符串数组 string []+数组名 eg: string [] c //字符串数组c
注意;创建的只是数组的定义还要对数组进行初始化,初始化分为静态和动态初始化
先来说说动态初始化吧
你要new一个,比如;你没有女朋友,你得自己去new一个,具体的方法是int [] myarr=new int[5].这样创建的是一个初始值全为0的动态数组,如果你要之前就具体赋值,就如int myarr= new int[5]{1,2,3,4,5},这一点就得小心了,不能多也不能少要不然就会报错。或者 int[] b=new int[]{1,2,3,4,5,6,7,8,9,10};把你都需要的元素全部列出来,就不用对[]中赋值.
注意:
☆ 数组如果给定初始值,则不允许“数组长度”为变量,即使变量先赋值也不行,
例如: int n = 5; int[] myarr = new int[n] { 1, 2, 3, 4, 5 }; //错误
☆ 数组如果没有给定初始值,“数组长度”可以是已初始化的变量,
例如: int n = 5; int[] myarr = new int[n]; //正确,指定数组长度为n
☆ 如果给出“数组长度”,则初始值的个数应与“数组长度”相等,否则出错,
如: int[] mya = new int[2] {1,2}; //正确
int[] mya = new int[2] {1,2,3}; //错误
int[] mya = new int[2] {1}; //错误
再来说说静态初始化吧
直接在定义后面加上{ },里面为具体的元素,但是绝对不能将定义与分配空间的过程分开。
2.对数组进行访问
主流方法有三种,如下
static void Main(string[] args)
{
int[] myarr = new int[5];
for(int i=1;i<=5;i++)
{
Console.WriteLine(myarr[i-1]);
}
Console.ReadLine();
for(int i=0;i<myarr.Length;i++)
{
Console.WriteLine(myarr[i]);
}
Console.ReadLine();
foreach(int i in myarr)
{
Console.WriteLine(i);
}
Console.ReadLine();
}
输出结果为(因为没有进行初始化所以结果为0)
二、二维数组
语法格式如下:
数组类型[,] 数组名; 例如:
int[,] a1,a2; //定义整型二维数组a1、a2
double[,] b; //定义双精度二维数组b
string[,] c; //定义字符串二维数组c
1、二维数组的动态初始化
(1)不给定初始值的情况,各元素取默认值,例如:
int[,] x = new int[2,3]; //该数组各数组元素均取默认值0。
(2)给定初始值的情况,一般形式为:
int[,] x = new int[2,3]{{1,2,3},{4,5,6}}; 若初始值个数与对应的数组长度相等,由于后面的大括号中已列出了数组中的全部元素,因此可省略数组长度,例如:
int[,] x = new int[,]{{1,2,3},{4,5,6}}; //此时不允许数组长度为变量 注,
错误情况: int[,] x = new int[,] { { 1, 2 }, { 4, 5, 6 } }; //错误
int[,] x = new int[2,3] { { 1, 2 }, { 4, 5, 6 } }; //错误
2.对二维数组的访问
和C语言一样,要用到两次循环
static void Main(string[] args)
{
int[,] myarr = new int[2, 3] ;
for (int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
Console.Write("{0}",myarr[i,j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
注意内循环必须是console.wtite不然输不出二维数组
三、Array类函数调用
1.Array.sort(a)是对数组a进行排序。
2、Array.BinarySearch(Array,item):在整个一维排序数组Array中搜索特定元素item。
3.Array.Copy(Array1,Array2,n):从第一个元素开始复制Array1中的一系列元素,将它们粘贴到Array2中(从第一个元素开始),共复制n个元素。
4.Array. Reverse(Array):反转整个一维Array中元素的顺序。
注意:此笔记只记录了一维与二维数组的输入与输出。