程式中一個變數只能儲存一個資料,那如果需要用到大量而且性質相同的變數時,例如100個學生成績,光是想變數名稱心就覺得累(。ŏ_ŏ)....
於是陣列就以閃閃發亮的姿態出現了!!!!!
大量
且同性質
的資料時1.陣列Array是多個相同資料型別的變數,在記憶體中連續串在一起的物件,需用new進行建立物件及宣告
2.宣告時由於是要跟電腦要一串連續的記憶體空間,陣列大小是固定的
3.C#陣列可以是一維、多維、不規則
4.宣告方法資料型別 [ ] 陣列名稱 = new 資料型別[陣列大小]
範例:
1.宣告一個含有五個陣列元素的整數陣列
int[] score = new int[5]
2.宣告一個二維陣列4\*5,含有20個陣列元素的字串陣列
string[,] name= new string[3,4]
5.圖示陣列
6.陣列名稱裡存的不是資料本身,而是陣列的起始位置
7.因為是連續記憶體,陣列讀值的速度是快的。當要加東西進去既有陣列時,由於陣列大小固定不可變動,所以必須把原有的陣列(記憶體)砍掉,重新建立一個新的陣列(新的連續記憶體),效能較差
無初始值:資料型別 [ ] 陣列名稱 = new 資料型別[陣列大小]
有初始值:
初始值,外面以大括號包住,中間以逗號隔開。
一維陣列
單獨給一個值:
a[2]=50;
a陣列第3個數字為50
宣告整個陣列:
int[] a = new int[]{1,2,3,4,5};
a陣列大小為5,裡面的值依序是1,2,3,4,5
二維陣列
單獨給一個值:
a[0,0]=10;
a陣列[0,0]位置的值是10
宣告整個陣列:
int[,] a= new int[]{{1,2,3,4},{5,6,7,8},{9,10,11,12}}
Int[] a = new int[3];
Int[,] b= new int[2,3]
覺得使用IT邦幫忙的Markdown語法一直無法控制它 = =還是在PPT做好貼上來好了= =
.NET Framework 提供了System.Array類別的靜態方法來比較輕鬆的解決陣列排序、反轉、搜尋等問題,下表是Array類別常用的靜態方法
C# 有提供不規則陣列(二維)的寫法,也就是陣列中可以存放陣列,每一列的長度可以不同,也稱為非矩形陣列。
宣告方法:
資料型別[ ][ ]陣列名稱 = new 資料型別[陣列大小][ ]
範例:
1.宣告一個不規則陣列,此不規則陣列含有3列
int[][] jag=new int[3][];
2.設定每個陣列大小
jag[0]= new int[3];//第一列陣列大小為3
jag[1]= new int[2];//第二列陣列大小為2
jag[2]= new int[4];//第三列陣列大小為4
圖示:
題目內容:
輸入10個數字,求10個數字的計算平均值。
double[] a = new double[10];//宣告一個長度為10的陣列
Console.WriteLine("計算平均值請輸入10個數字");
for (int i = 0; i < 10; i++)
{
double x = Convert.ToDouble(Console.ReadLine());
//讀10次數字並存入陣列
a[i] = x;
}
Console.WriteLine($"平均值為{a.Average()}");//取平均值
Console.ReadKey();
本文範例及內容參考至Visual C# 2017程式設計經典
感謝大大分享~我是剛學程式語言的新手~~~
想請問~為何輸入10個數字後run不出來?
(比對了好幾次><....是輸入的問題嗎?
實測文章中C#二維陣列的宣告過程出現以下問題
int[,] a= new int[]{{1,2,3,4},{5,6,7,8},{9,10,11,12}} //此方式無法正常編譯
修改以下方式正常編譯
int[,] a= new int[,]{{1,2,3,4},{5,6,7,8},{9,10,11,12}}
或是
int[,] a= {{1,2,3,4},{5,6,7,8},{9,10,11,12}}