VSTO入門學習筆記5-數組
一、數組的定義
1、第一種方法,定義大小
- string[] strArr = string[3];
- 定義了大小爲3的一個字符串類型數組
int[] intArr = new int[20];
2、第二種方法,直接賦值
- int[] intArr = {1,2,3,4,5,6,7};
- 定義數組類型,然後大括號包起來要定義的數組
int[] intArr = { 25, 36, 17, 19, 90 };
- 如果兩者結合的寫法
int[] intArr = new int[5]{ 25, 36, 17, 19, 90 };
- 二維數組的定義
string[,] strArr = new string[3,2]{ {"小王","經理" }, {"小李","員工" }, {"小張","主管" } };
二、數組大小
- arr.length數組的最大下標
- 這個只適合一維數組,多維數組得到的數據是維度相乘
- .GetLength(0),表示1維數組最大角標,得到32位整數
- .GetLength(1),表示2維數組最大角標
- .GetLongLength(1),表示2維做大角標,得到是64位整數
- 兩個方法都一樣,數據類型不同,建議用long
int[,] intArr = new int[2, 3]
{{1,2,3},/*第一行數據*/
{4,5,6 }};/*第二行數據*/
long result = intArr.GetLongLength(1);
Console.WriteLine(result);
Console.ReadKey();
得到結果是3
三、數組遍歷
- 就是循環
- 多維就嵌套多次循環
- 多維用arr.GetLength(0),獲得32位整數,表示第一個維度,1表示第二個維度,以此類推
- arr.getlonglength,獲得的是64位整數同上用法
int[,] intArr = new int[2, 3]
{{1,2,3},/*第一行數據*/
{4,5,6 }};/*第二行數據*/
string result = null;
for (int r = 0; r < 2; r++)
{
result += "\n";
for (int c = 0; c < 3; c++)
{
result += intArr[r, c] + "\t";
}
}
Console.WriteLine(result);
Console.ReadKey();
顯示結果
1 2 3
4 5 6
四、經典99乘法表
string[,] strArr = new string[9, 9];
int Row = 0;
int Col = 0;
string result=null;
for (int r = 0; r < 9; r++)
{
result += "\n";//先換行顯示,然後每次雙循環完一次,就換行
Row = r + 1; //row讓從1開始到9
for (int c = r; c < 9; c++) //第二個循環
{
Col = c + 1; //也是讓從1到9
//把拼接的結果,定義給result \t是行製表位
result += Row + "*" + Col + "=" + (Row*Col)+"\t";
}
}
Console.WriteLine(result);
Console.ReadKey();
顯示結果
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*6=36 6*7=42 6*8=48 6*9=54
7*7=49 7*8=56 7*9=63
8*8=64 8*9=72
9*9=81