数组

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            }


 

原文地址:https://www.cnblogs.com/shyleoking/p/635390.html