溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中怎么處理動態(tài)二維數(shù)組函數(shù)

發(fā)布時間:2021-07-14 14:34:39 來源:億速云 閱讀:121 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)C#中怎么處理動態(tài)二維數(shù)組函數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

對于C#動態(tài)二維數(shù)組函數(shù)處理方案理解我們引入一個例子來看看生活中,有很多事物,僅僅用一維數(shù)組,將無法恰當(dāng)?shù)乇槐硎尽_€是說學(xué)生成績管理吧。一個班級30個學(xué)員,你把他們編成1到30號,這很好。但現(xiàn)在有兩個班級要管理怎么辦?人家每個班級都自有自的編號,比如一班學(xué)生編是1~30;二班的學(xué)生也是1~30。你說,不行,要進行計算機管理,你們兩班學(xué)員的編號要混在一起,從1號編到60號。

另外一種情況,仍然只有一個班級30人。但這回他們站到了操場,他們要做廣播體操,排成5行6列。這時所有老師都不管學(xué)員的編號了,老師會這樣喊:“第2排第4個同學(xué),就說你啦!踢錯腳了!”。假設(shè)我們的校長大人要坐在校長室里,通過一個裝有監(jiān)視器的電腦查看全校學(xué)員做廣播體操,這時,我們也需要一個多維數(shù)組。

那么如何在編程中實現(xiàn)C#動態(tài)二維數(shù)組函數(shù)處理方案呢?我們看看具體的實現(xiàn)內(nèi)容:

 //動態(tài)調(diào)整一維數(shù)組長度  public static Array Redim(Array origArray, int length)  {  //確定每個元素的類型  Type t = origArray.GetType().GetElementType();  //創(chuàng)建新的數(shù)組  Array newArray = Array.CreateInstance(t, length);  //原數(shù)組中的數(shù)據(jù)拷貝到新數(shù)組中  Array.Copy(origArray, 0, newArray, 0,   Math.Min(origArray.Length, length));  return newArray;  }    //動態(tài)調(diào)整二維數(shù)組長度  public static Array Redim(Array origArray,  params int[] lengths)  {  //確定每個元素的類型  Type t = origArray.GetType().GetElementType();  //創(chuàng)建新的數(shù)組  Array newArray = Array.CreateInstance(t, lengths);  //原數(shù)組中的數(shù)據(jù)拷貝到新數(shù)組中  for (int i = origArray.GetLowerBound(0);   i <= Math.Min(origArray.GetUpperBound(0),   newArray.GetUpperBound(0)); i++)  for (int j = origArray.GetLowerBound(1);   j <= Math.Min(origArray.GetUpperBound(1),   newArray.GetUpperBound(1)); j++)  newArray.SetValue(origArray.GetValue(i, j), i, j);  //在這里沒有用Copy方法,如果用此方法,  //會把原數(shù)組中所有數(shù)據(jù)逐個拷貝到新數(shù)組中    return newArray;  }
//如果在Redim方法中用Copy方法(動態(tài)調(diào)整二維數(shù)組長度)   public static Array Redim(Array origArray,  params int[] lengths)  {  int length = 1;  for (int i = 0; i < lengths.Length; i++)  length *= lengths;  Type t = origArray.GetType().GetElementType();  Array newArray = Array.CreateInstance(t, lengths);  Array.Copy(origArray, 0, newArray, 0,  Math.Min(origArray.Length, length));  return newArray;  }

關(guān)于C#中怎么處理動態(tài)二維數(shù)組函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI