数组

C# 数组从零开始建立索引,声明时[ ]必须跟在类型后面,而不是标识符后面。所有数组元素必须为同一类型
数组元素可以是任何类型,包括数组类型。数组可以是一维数组或多维数组

 

1 //声明时同时声明大小
2 int[] iarr = new int[6];
3
4 //声明时赋值,隐式约定大小
5 int[] jarr = new int[] 123456 };
6
7 //数组元素可以是任何类型,包括数组类型
8 char[][] chararr = new char[][] {"Hello".ToCharArray(),"C#".ToCharArray() };
9
10 //多维数组
11 int[,] k = new int[,] 12 }34 }56 } };

 

array常用属性

Length所有维数中元素的总数
Rank获取 Array 的秩(维数)

array常用方法

GetLength指定维中的元素数
GetUpperBound指定维度的上限
GetLowerBound指定维度的下限
static Sort Reverse对一维数组对象中的元素进行排序
static IndexOf返回一维数组中某个值第一个匹配项索引
static LastIndexOf返回一维数组中某个值的最后一个匹配项索引


以下代码描述了对数组的遍历
 

1 int[] i;
2 i = new int[] 1234567890 };
3 for (int j = 0; j <= i.Length - 1; j++)
4 {
5 System.Console.WriteLine(i[j]);
6 }

7
8 int[,] k = new int[,] 12 }34 }56 } };
9
10 System.Console.WriteLine(k.Length);
11 for (int n = 0; n <= k.GetLongLength(0- 1; n++)
12 {
13 for (int m = 0; m <= k.GetLongLength(1- 1; m++)
14 {
15 System.Console.WriteLine("{0},{1}:{2}", n, m, k[n, m]);
16 }
17 }




ok,在结束数组的学习前,我们做点关于数组的练习。

练习1
声明一个长度为100的int数组,该数组下标为0或偶数的元素值为该下标值的两倍,奇数值为位于该奇数前一个位置值的相反数。即0,0,4,-4,8,-8…..

 

 

1 //方案1
2 int[] iArr = new int[100];
3
4 for (int i = 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 = new int[100];
19
20 for (int i = 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
声明一个长度为26*2的一维char数组,使用确定循环在该数组中以AaBbCcDd…的方式放入字符。

 

1 //方案1
2 char[] cArr = new char[26 * 2];
3
4 for (int i = 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 = new char[26 * 2];
14 for (int i = 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 }

本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/806912

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值