4.1 一维数组
4.1.1 一维数组的创建
- 声明形式:
int [] arr; //数组元素类型[ ] 数组名字;
- 分配内存空间
arr= new int[5]; //数组名字=new 数组元素类型[数组元素的个数]
4.1.2 一维数组的初始化
- 为单个数组元素赋值:
arr[i]=i+1;
- 同时为整个数组赋值:
string[] arrStr= new string[ ]{"one","two","three"};
~在数组中随机取值
int random = new Random().Next(0,cardsnumber.Length);
cardsnumber[i] = cardsnumber[random];
4.2 二维数组
4.2.1 二维数组的创建
- 声明语法
int [,] myarr; //type[,] arrayName;
int[][] myarr; //type[][] arrayName;
- 分配内存
1.直接全部分配:
int [,] a=new int [2,4];
2.逐个分配:
int [] a =new int [2][];
a[0]=new int[2];
a[1]=new int[3];
4.2.2 二维数组的初始化
- 为单个元素赋值。
- 以行为单位赋值。
- 为整个数组赋值。
4.2.3 不规则数组定义
- define:即每一行元素个数不同的数组,比如第一行1个,第二行2个,第三行5个。
int [][] a =new int[3][]; //只指定行数
a[0]=new int[5]; //第一行分配5个元素,每一行都要单独分配
a[1]=new int[3];
a[2]=new int[4];
4.3 Array类
- array是一个大类方法,数组属于array的子集。
常用方法:
Copy | 将指定数组元素复制到一个array中 |
---|---|
CopyTo | 从指定索引目标开始,复制全部元素 |
Exists | 判断数组是否含有指定元素 |
GetLength | 获取array的长度 |
GetLowerBound | 获取下限 |
GetUpperBound | 获取上限 |
GetValue | 获取指定位置的值 |
Reverse | 反转顺序 |
SetValue | 设置指定位置元素的值 |
Sort | 排序(一维数组) |
- Mention:
1.长度的表示:
array_int.length; //数组的行数
array_int[i].length; //第i行的列数
2.二维数组的列数统计
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
……
}
}
4.4 数组的基本操作
4.4.1 foreach遍历
- 格式和例子:
foreach(【类型】【迭代变量名】in 【集合】){
……
}
string[] roles={"狼人”,“预言家”,“女巫”};//设定一个要循环输出的数组
foreach(string role in roles) //role作为foreach内循环的暂时变量,要输出的话只能在括号内输出
{
console.Write(role+" "); //遍历输出元素
}
4.4.2 Sort排序
- 只用于一维数组排序
- 格式:
public static void Sort(Array array,int index,int length);
public static void Sort(Array array)
~array为数组名,index指向开始位置,length指定范围。 - 范例:
Array.Sort(arr);
Array.Sort(arr,0,10);
4.4.3 Reverse反转
- 只用于一维数组元素反转。
- 格式:
public static void Reverse(Array array,int index,int length);
public static void Reverse(Array array)
~参数设置同上。 - 范例:
Array.Reverse(arr);
Array.Reverse(arr,0,10);