声明并且初始化数组
class Demo
{
//初始化数组的3种方式
static void Main() {
//第一种
int[] a = new int[10];
a[0] = 1;
a[1] = 2;
a[3] = 3;
//第二种
int[] b = new int[] { 1,2,3 };
//第三种
int[] c = { 1,2,3};
}
}
一维数组的使用
static void Main() {
int[] a = new int[] {1,2,3,4,5,6,7,8,9,10,11,12 };
for (int i=0;i<a.Length;i++) {
Console.WriteLine(a[i]);
}
Console.ReadLine();
}
二维数组的声明
static void Main() {
//第一种,2行2列
int[,] b = new int[2,2];
b[0, 0] = 0;
b[0, 1] = 1;
b[1, 0] = 2;
b[1, 1] = 3;
//第二种
int[][] a = new int[2][];
a[0] = new int[] { 1,2 };
a[1] = new int[] { 1,2,3 };
//第三种
int[,] myarr1 = new int[2,2] { {12,0 },{ 2,3 } };
int[,] myarr2 = new int[,] { { 12, 0 }, { 2, 3 } };
int[,] myarr3 = { {12,9 },{ 2,3} };
Console.ReadLine();
}
二维数组的使用
//二维数组中行列数据交换
static void Main()
{
int[,] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
Console.WriteLine("-----------原始数组-----------");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(arr[i,j]+"");
}
Console.WriteLine();
}
int temp;
for (int i=0;i<3;i++) {
for (int j=0;j<i;j++) {
temp = arr[i,j];
arr[i, j] = arr[j,i];
arr[j, i] = temp;
}
}
Console.WriteLine("-----------调换之后的数组-----------");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(arr[i, j] + "");
}
Console.WriteLine();
}
Console.ReadLine();
}
不规则数组
static void Main()
{
int[][] arr = new int[3][];
arr[0] = new int[3];//第一行数组的长度是3
arr[1] = new int[5];//第二行有5个元素
arr[2] = new int[4];
}
数组与Array类,C#中数组是由System.Array类派生而来的引用对象。
方法 | 说明 |
---|---|
Copy | 将数组中的指定元素复制到另一个Array中 |
CopyTo | 从指定的目标数组索引处开始,将当前一维数组中所有元素复制到另一个一维数组中 |
Exists | 判断数组中是否包含指定的元素 |
Getlength | 获取Array的指定维中的元素数 |
GetValue | 获取Array中指定位置的值 |
Reverse | 反转一维Array中元素的顺序 |
SetValue | 设置Array中指定位置的元素 |
Sort | 对一维Array数组元素进行排序 |
foreach
static void Main()
{
string[] arr = { "进货管理","销售管理","库存管理","系统设置" };
foreach (string str in arr) {
Console.WriteLine(str);
}
Console.ReadLine();
}
对数组进行排序
static void Main()
{
int[] arr = new int[] {23,34,56,67,65,25 };
Array.Sort(arr);
Array.Reverse(arr);
foreach (int i in arr) {
Console.WriteLine(i);
}
Console.ReadLine();
}