天天看点

数组

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

数组元素可以是任何类型,包括数组类型。数组可以是一维数组或多维数组

1

数组

 //声明时同时声明大小

2

数组

 int[] iarr = new int[6];

3

数组

4

数组

 //声明时赋值,隐式约定大小

5

数组

 int[] jarr = new int[] { 1, 2, 3, 4, 5, 6 };

6

数组

7

数组

 //数组元素可以是任何类型,包括数组类型

8

数组

 char[][] chararr = new char[][] {"Hello".ToCharArray(),"C#".ToCharArray() };

9

数组

10

数组

 //多维数组

11

数组

 int[,] k = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 } };

array常用属性

Length

所有维数中元素的总数

Rank

获取 Array 的秩(维数)

array常用方法

GetLength

指定维中的元素数

GetUpperBound

指定维度的上限

GetLowerBound

指定维度的下限

static Sort Reverse

对一维数组对象中的元素进行排序

static IndexOf

返回一维数组中某个值第一个匹配项索引

static LastIndexOf

返回一维数组中某个值的最后一个匹配项索引

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

数组

 int[] i;

数组

 i = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };

数组

 for (int j = 0; j <= i.Length - 1; j++)

数组

 {

数组

 System.Console.WriteLine(i[j]);

数组

 }

数组
数组
数组
数组

 System.Console.WriteLine(k.Length);

数组

 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

数组

 int[] iArr = new int[100];

数组
数组

 for (int i = 0; i <= iArr.Length - 1; i++)

数组
数组

 if (i % 2 == 0)

数组
数组

 iArr[i] = i * 2;

数组
数组

 else

数组
数组

 iArr[i] = -iArr[i - 1];

数组
数组

 System.Console.WriteLine("iArr[i]={0}", iArr[i]);

数组
数组

 System.Console.WriteLine("-----------------------------");

数组

 //方案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

数组

24

数组

25

数组

练习2

声明一个长度为26*2的一维char数组,使用确定循环在该数组中以AaBbCcDd…的方式放入字符。

数组
数组

 char[] cArr = new char[26 * 2];

数组
数组

 for (int i = 0; i < 26; i++)

数组
数组

 cArr[i * 2] = (char)('A' + i);

数组

 cArr[i * 2 + 1] = (char)('a' + i);

数组

 System.Console.WriteLine(cArr[i * 2]);

数组

 System.Console.WriteLine(cArr[i * 2 + 1]);

数组
数组
数组
数组

 char[] chararray = new char[26 * 2];

数组

 for (int i = 0; i < chararray.Length; i++)

数组
数组
数组
数组

 chararray[i] = Convert.ToChar(Convert.ToInt32('A') + i / 2);

数组
数组
数组
数组

 chararray[i] = Convert.ToChar(chararray[i - 1].ToString().ToLower());

数组
数组

 System.Console.WriteLine(chararray[i].ToString());

数组

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