C#中數(shù)組段用法實(shí)例分析
本文實(shí)例講述了C#中數(shù)組段用法。分享給大家供大家參考。具體分析如下:
1.數(shù)組段說(shuō)明
① 結(jié)構(gòu)ArraySegment<T>表示數(shù)組的一段。如果某方法應(yīng)返回?cái)?shù)組中的一部分,或者給
某方法傳遞數(shù)組的一部分,就可以使用數(shù)組段。通過(guò)ArraySegment<T>可以傳遞三個(gè)參數(shù)
(數(shù)組,數(shù)組段開(kāi)始位置,從開(kāi)始位置選擇的元素個(gè)數(shù)),也可以只傳遞一個(gè)參數(shù)
② 數(shù)組段不會(huì)復(fù)制原數(shù)組的元素,但原數(shù)組可以通過(guò)ArraySegment<T>中的Array屬性訪問(wèn),
如果數(shù)組段中的元素改變了,則這些變化就會(huì)反映到原數(shù)組
2.一個(gè)例子
private int SumOfSegments(ArraySegment<int>[] segments) { int sum = 0; foreach(ArraySegment<int> segment in segments) //循環(huán)存放數(shù)組段的數(shù)組 { for (int i = segment.Offset; i < segment.Offset + segment.Count; i++) //處理數(shù)組段,Offset為在元素?cái)?shù)組中的起始位置 //Count為要提取的個(gè)數(shù) //Arary為原始數(shù)組 { sum += segment.Array[i]; //計(jì)算元素之和 } } return sum; }
調(diào)用:
private void button1_Click(object sender, EventArgs e) { int[] arr1 = new int[] { 1,4,5,11,14,18}; int[] arr2 = new int[] {3,4,5,18,21,27,33 }; //定義數(shù)組段的數(shù)組 var segments = new ArraySegment<int>[2] { new ArraySegment<int>(arr1,0,3), new ArraySegment<int>(arr2,3,3) }; var sum=SumOfSegments(segments); MessageBox.Show(sum.ToString()); }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
- C#比較二個(gè)數(shù)組并找出相同或不同元素的方法
- C#二維數(shù)組基本用法實(shí)例
- C#實(shí)現(xiàn)將數(shù)組內(nèi)元素打亂順序的方法
- C#求數(shù)組中元素全排列的方法
- C#不重復(fù)輸出一個(gè)數(shù)組中所有元素的方法
- C#獲取數(shù)組中最大最小值的方法
- C#字符串?dāng)?shù)組轉(zhuǎn)換為整形數(shù)組的方法
- C#畫筆使用復(fù)合數(shù)組繪制單個(gè)矩形的方法
- C#中結(jié)構(gòu)體和字節(jié)數(shù)組轉(zhuǎn)換實(shí)現(xiàn)
- C#實(shí)現(xiàn)字符串轉(zhuǎn)換成字節(jié)數(shù)組的簡(jiǎn)單實(shí)現(xiàn)方法
- C#中動(dòng)態(tài)數(shù)組用法實(shí)例
- C#將HashTable中鍵列表或值列表復(fù)制到一維數(shù)組的方法
- 詳解C#編程中一維數(shù)組與多維數(shù)組的使用
相關(guān)文章
C#通過(guò)配置文件動(dòng)態(tài)修改web.config內(nèi)容的操作步驟
這篇文章主要介紹了C#通過(guò)配置文件動(dòng)態(tài)修改web.config內(nèi)容的操作步驟,文中通過(guò)圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03c# 實(shí)現(xiàn)圓形的進(jìn)度條(ProgressBar)
這篇文章主要介紹了c# 如何實(shí)現(xiàn)圓形的進(jìn)度條(ProgressBar),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03C#運(yùn)用FileInfo類實(shí)現(xiàn)拷貝文件的方法
這篇文章主要介紹了C#運(yùn)用FileInfo類實(shí)現(xiàn)拷貝文件的方法,需要的朋友可以參考下2014-07-07異步/多線程/任務(wù)/并行編程之一:如何選擇合適的多線程模型?
本篇文章小編為大家介紹,異步/多線程/任務(wù)/并行編程之一:如何選擇合適的多線程模型?需要的朋友參考下2013-04-04C# winForm實(shí)現(xiàn)的氣泡提示窗口功能示例
這篇文章主要介紹了C# winForm實(shí)現(xiàn)的氣泡提示窗口功能,涉及C# winForm窗口屬性與設(shè)置相關(guān)操作技巧,需要的朋友可以參考下2018-03-03Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)星空
這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)星空,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04C#如何通過(guò)probing指定dll尋找文件夾詳解
這篇文章主要給大家介紹了關(guān)于C#如何通過(guò)probing指定dll尋找文件夾的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12