C# 数组从零开始建立索引,声明时[ ]必须跟在类型后面,而不是标识符后面。所有数组元素必须为同一类型
数组元素可以是任何类型,包括数组类型。数组可以是一维数组或多维数组
1
//声明时同时声明大小
2
int[]iarr=newint[6];
3
4
//声明时赋值,隐式约定大小
5
int[]jarr=newint[]
{1,2,3,4,5,6};
6
7
//数组元素可以是任何类型,包括数组类型
8
char[][]chararr=newchar[][]
{"Hello".ToCharArray(),"C#".ToCharArray()};
9
10
//多维数组
11
int[,]k=newint[,]
{
{1,2},
{3,4},
{5,6}};

2

3

4

5



6

7

8



9

10

11






array常用属性 | |
Length | 所有维数中元素的总数 |
Rank | 获取 Array 的秩(维数) |
array常用方法 | |
GetLength | 指定维中的元素数 |
GetUpperBound | 指定维度的上限 |
GetLowerBound | 指定维度的下限 |
static Sort Reverse | 对一维数组对象中的元素进行排序 |
static IndexOf | 返回一维数组中某个值第一个匹配项索引 |
static LastIndexOf | 返回一维数组中某个值的最后一个匹配项索引 |
以下代码描述了对数组的遍历
1
int[]i;
2
i=newint[]
{1,2,3,4,5,6,7,8,9,0};
3
for(intj=0;j<=i.Length-1;j++)
4

{
5
System.Console.WriteLine(i[j]);
6
}
7
8
int[,]k=newint[,]
{
{1,2},
{3,4},
{5,6}};
9
10
System.Console.WriteLine(k.Length);
11
for(intn=0;n<=k.GetLongLength(0)-1;n++)
12

{
13
for(intm=0;m<=k.GetLongLength(1)-1;m++)
14

{
15
System.Console.WriteLine("{0},{1}:{2}",n,m,k[n,m]);
16
}
17
}

2



3

4



5

6

7

8






9

10

11

12



13

14



15

16

17

ok,在结束数组的学习前,我们做点关于数组的练习。
练习1
声明一个长度为100的int数组,该数组下标为0或偶数的元素值为该下标值的两倍,奇数值为位于该奇数前一个位置值的相反数。即0,0,4,-4,8,-8…..
1
//方案1
2
int[]iArr=newint[100];
3
4
for(inti=0;i<=iArr.Length-1;i++)
5

{
6
if(i%2==0)
7

{
8
iArr[i]=i*2;
9
}
10
else
11

{
12
iArr[i]=-iArr[i-1];
13
}
14
System.Console.WriteLine("iArr[i]={0}",iArr[i]);
15
}
16
System.Console.WriteLine("-----------------------------");
17
//方案2
18
int[]jArr=newint[100];
19
20
for(inti=0;i<=jArr.Length-1;i++)
21

{
22
iArr[i]=i%2==0?i*2:-iArr[i-1];
23
System.Console.WriteLine("iArr[i]={0}",iArr[i]);
24
}
25
System.Console.WriteLine("-----------------------------");

2

3

4

5



6

7



8

9

10

11



12

13

14

15

16

17

18

19

20

21



22

23

24

25

练习2
声明一个长度为26*2的一维char数组,使用确定循环在该数组中以AaBbCcDd…的方式放入字符。
1
//方案1
2
char[]cArr=newchar[26*2];
3
4
for(inti=0;i<26;i++)
5

{
6
cArr[i*2]=(char)('A'+i);
7
cArr[i*2+1]=(char)('a'+i);
8
System.Console.WriteLine(cArr[i*2]);
9
System.Console.WriteLine(cArr[i*2+1]);
10
}
11
System.Console.WriteLine("-----------------------------");
12
//方案2
13
char[]chararray=newchar[26*2];
14
for(inti=0;i<chararray.Length;i++)
15

{
16
if(i%2==0)
17

{
18
chararray[i]=Convert.ToChar(Convert.ToInt32('A')+i/2);
19
}
20
else
21

{
22
chararray[i]=Convert.ToChar(chararray[i-1].ToString().ToLower());
23
}
24
System.Console.WriteLine(chararray[i].ToString());
25
}

2

3

4

5



6

7

8

9

10

11

12

13

14

15



16

17



18

19

20

21



22

23

24

25
