C# Array - 程式語言教學

文章推薦指數: 80 %
投票人數:10人

A=new string [3];. A[0] = "dd";. A[1] = "ff";. A[2] = "gg";. ※ 註:在宣告陣列長度為N時,會自動指派N個元素給陣列。

若該陣列的資料型別是int ... 程式語言教學 跳到主文 在人工智慧、物聯網、穿戴式裝置日益普及的時代,程式語言已經漸漸變成中文、英文外的第三語言。

數理科的同學既要寫程式來做數據分析、設計演算法,學商科、學設計的同學也須寫程式來蒐集數據、設計介面。

在眾多程式語言中,C++、python、java是最好入門的。

email聯絡我:[email protected] 部落格全站分類:數位生活 相簿 部落格 留言 名片 Dec24Fri202114:11 C#Array 1.陣列的宣告: (1)宣告陣列時,也順便宣告元素初始值: 資料型態[]陣列名稱={值一,值二,值三…}; 如: int[]A={3,5,2}; (2)不宣告初始值,但宣告陣列長度: 資料型態[]陣列名稱=new資料型態[N]; 如: double[]A=newdouble[100]; (3)分段式宣告: 資料型態[]陣列名稱;   //先宣告陣列 陣列名稱=new資料型態[N];   //再宣告陣列長度,令陣列長度為N 陣列名稱[序數]=值;   //再逐一宣告值 如: string[]A; A=newstring[3]; A[0]="dd"; A[1]="ff"; A[2]="gg"; ※註:在宣告陣列長度為N時,會自動指派N個元素給陣列。

若該陣列的資料型別是int或double,則這N個變數的初始值就是0;若該陣列的資料型別是string,則這N個變數的初始值就是空字串;若該陣列的資料型別是bool,則這N個變數的初始值就是False。

  2.多維陣列的宣告與使用: (1)二維陣列: (1-1)二維陣列的宣告: (1-1-1)不進行初始化的宣告: 資料型態[,]陣列名稱=new資料型態[N1,N2]; 其中,N1和N2是整數,代表第一階的陣列(也就是該陣列名稱所代表的陣列本身)有N1個子陣列(也就是N1個第二階陣列),而第二階陣列有N2個元素。

整個陣列共有N1*N2個元素。

這N1*N2個元素的初始值會被自動設定:若該陣列的資料型別是int,則所有元素初始值就都是0;若該陣列的資料型別是string,則所有元素初始值就都是空字串;若該陣列的資料型別是bool,則所有元素初始值就都是False。

(1-1-2)進行初始化的宣告: 資料型態[,]陣列名稱=new資料型態{子陣列一,子陣列二,子陣列三…}; 範例如: int[,]array_2D=newint[,]{{1,2},{3,4},{5,6}}; 當然,為了易讀,也可寫成: int[,]array_2D=newint[,] { {1,2}, {3,4}, {5,6} }; (1-2)二維陣列元素值的設定與呼叫: 陣列名稱[序數一,序數二];    //元素值的呼叫 陣列名稱[序數一,序數二]=值;    //元素值的設定 如: string[,]array_2D=newstring[2,3]; array_2D[0,0]="AAA"; array_2D[0,1]="BBB"; array_2D[0,2]="CCC"; array_2D[1,0]="aaa"; array_2D[1,1]="bbb"; array_2D[1,2]="ccc"; (1-3)二維陣列之長度、與其子陣列的長度: (1-3-1)陣列名稱.Length:此成員回傳整個陣列的元素個數。

例如有個陣列宣告如為:int[,]array_2D=newint[,]{{1,2},{3,4},{5,6}};,則其長度就是2*3=6。

(1-3-2)陣列名稱.GetLength(K):其中,K是非負整數,從0算起。

此方法回傳第K層子陣列的數目。

例如有個陣列宣告如為:int[,]array_2D=newint[,]{{1,2},{3,4},{5,6}};,則GetLength(0)會回傳3,GetLength(1)會回傳2,GetLength(2)就會出錯,因該陣列只有二維,也就是說只有第0層和第1層。

(2)多維陣列(宣告與使用的方法,和二維陣列同理): (2-1)多維陣列的宣告: 資料型態[,,…]陣列名稱=new資料型態[N1,N2,N3…]; 其中,[,,…]表示,若是x維陣列,則中括號[]中就要有x-1個逗號,。

其中,[N1,N2,N3…]表示,若是x維陣列,則中括號[]中就要有x個N。

同樣,宣告完的陣列也會被賦予初始值。

如以下是宣告一個三維陣列: int[,,]A=newint[2,3,1]; (2-2)多維陣列元素值的設定與呼叫: 陣列名稱[序數一,序數二,序數三…];    //元素值的呼叫 陣列名稱[序數一,序數二,序數三…]=值;    //元素值的設定 (2-3)多維陣列的複製: 利用Array.copy(多維陣列甲,多維陣列乙,N)方法,可將多維陣列甲中的前N個元素複製到多維陣列乙中。

且複製完後,對多維陣列乙的操作不會影響多維陣列甲。

範例如: int[,]AA=newint[1000,1000]; for(inti=0;i<1000;i++) { for(intj=0;j<1000;j++) {AA[i,j]=1;} }   int[,]BB=newint[1000,1000]; Array.Copy(AA,BB,1000*1000);  (3)不定長度多維陣列: 此種陣列,其每個子陣列的長度都可以不相同。

(3-1)宣告之範例如下: double[][][]Asss=newdouble[10][][]; for(inti1=0;i1<10;i1++) { double[][]Ass=newdouble[2*i1][]; for(inti2=0;i2<2*i1;i2++) { double[]As=newdouble[2*i2+i1]; for(inti3=0;i3<2*i2+i1;i3++) {As[i3]=i3*i2-5*i1;} Ass[i2]=As; } Asss[i1]=Ass; } (3-2)不定長度多維陣列元素值的設定與呼叫: 陣列名稱[序數一][序數二][序數三]…;    //元素值的呼叫 陣列名稱[序數一][序數二][序數三]…=值;    //元素值的設定     3.陣列所能使用的成員及方法: C#中的陣列是繼承自System.Array類別,此類別提供了一些成員和方法供陣列使用,如下: (1)常用的成員: ※陣列名稱.IsFixedSize:其值的型態為bool。

若其值為True,表示該陣列的長度已被宣告,否則其值為False。

※陣列名稱.IsReadOnly:其值的型態為bool。

若其值為True,表示該陣列是唯獨的,否則其值為False。

※陣列名稱.Length:其值的型態為int。

代表該陣列的長度。

※陣列名稱.Rank:其值的型態為int。

代表該陣列的維度。

(2)常用的方法: ※陣列名稱.GetType():回傳一個型態為System.Type的變數,表示該陣列的資料型態。

(3)其他和陣列有關的方法: ※Array.Equals(陣列一,陣列二):回傳一個bool。

若其值為True,表示該陣列一與陣列二相等,否則其值為False。

※Array.Clear(陣列,N,L):將該陣列自序數N開始連續共L個元素(包含序數N所對應的元素),都設為0或是false或空字串。

※Array.IndexOf(陣列,值):回傳一個int。

搜尋該陣列中,是否有哪個元素的值是值。

若有則回傳其序數,若無則回傳-1。

若有兩個以上元素的值是值,則回傳序數最小者的序數。

※Array.Sort(陣列):將該陣列進行遞增排序。

※Array.Reverse(陣列):將該陣列的順序顛倒。

      上一篇:參考資料-鍵盤按鍵名稱與按鍵編碼的對應表 下一篇:list 按此前往C#完整教學目錄 文章標籤 C# Array 陣列 矩陣 教學 全站熱搜 創作者介紹 埃伯 程式語言教學 埃伯發表在痞客邦留言(0)人氣() E-mail轉寄 全站分類:數位生活個人分類:C#此分類上一篇:C#遞迴函式 此分類下一篇:C#List 上一篇:C#遞迴函式 下一篇:C#List 歷史上的今天 2021:C#tuple 2021:C#數學運算 2021:C#stopwatch計時器 2021:C#影像(Image) 2021:C#檔案內容的讀寫(StreamReader、StreamWriter、FileStream) 2021:C#檔案的處理 2021:C#路徑的處理 2021:C#資料夾的處理 2021:C#類別的繼承 2021:C#類別物件的複製 2021:C#靜態成員與靜態成員函式 2021:C#類別的「成員」與「屬性」 2021:C#類別物件的宣告與使用 2021:C#類別的宣告 2021:C#SortedList 2021:C#ArrayList 2021:C#List 2021:C#遞迴函式 2021:C#匿名函式 2021:C#delegate 2021:C#子函式 2021:C#多載 2021:C#函式參數傳遞 2021:C#建立函式 2021:參考資料鍵盤按鍵名稱與按鍵編碼的對應表 2021:C#鍵盤滑鼠事件 ▲top 留言列表 發表留言 贊助商連結 我的好友 熱門文章 文章分類 javascript教學(1) javascript教學(30) C#(1) C#(53) Linux教學(1) Linux教學(98) C++(1) C++(56) Mysql(1) Mysql基本概念(3) 網路連結(1) 網路連結(1) linuxshellscript(1) linuxshellscript(7) 高中英文單字(26) 高中英文7000單字level1(學測1)(2)高中英文7000單字level2(學測2)(1)高中英文7000單字level3(學測3)(1)高中英文7000單字level4(學測4)(1)高中英文7000單字level5(指考1)(1)高中英文7000單字level6(指考2)(1)高中英文7000單字列表(1)LV6單字英翻中測驗(1)LV5單字英翻中測驗(1)LV4單字英翻中測驗(1)LV3單字英翻中測驗(1)LV2單字英翻中測驗(1)LV1單字英翻中測驗(1)LV6單字中翻英測驗(1)LV5單字中翻英測驗(1)LV4單字中翻英測驗(1)LV3單字中翻英測驗(1)LV2單字中翻英測驗(1)LV1單字中翻英測驗(1)LV6單字中翻英(字首提示)測驗(1)LV5單字中翻英(字首提示)測驗(1)LV4單字中翻英(字首提示)測驗(1)LV3單字中翻英(字首提示)測驗(1)LV2單字中翻英(字首提示)測驗(1)LV1單字中翻英(字首提示)測驗(1)LV1單字中翻英(0) 電腦工具(0)python(10)歷屆學測指考試題(3)3dsmax(41)題目設定(1)未分類文章(3) 最新留言 文章搜尋 誰來我家 參觀人氣 本日人氣: 累積人氣: QRCode POWEREDBY (登入) 贊助商連結 回到頁首 回到主文 免費註冊 客服中心 痞客邦首頁 ©2003-2022PIXNET 關閉視窗



請為這篇文章評分?