C#中數組段用法實例分析
本文實例講述了C#中數組段用法。分享給大家供大家參考。具體分析如下:
1.數組段說明
① 結構ArraySegment<T>表示數組的一段。如果某方法應返回數組中的一部分,或者給
某方法傳遞數組的一部分,就可以使用數組段。通過ArraySegment<T>可以傳遞三個參數
(數組,數組段開始位置,從開始位置選擇的元素個數),也可以只傳遞一個參數
② 數組段不會復制原數組的元素,但原數組可以通過ArraySegment<T>中的Array屬性訪問,
如果數組段中的元素改變了,則這些變化就會反映到原數組
2.一個例子
private int SumOfSegments(ArraySegment<int>[] segments) { int sum = 0; foreach(ArraySegment<int> segment in segments) //循環(huán)存放數組段的數組 { for (int i = segment.Offset; i < segment.Offset + segment.Count; i++) //處理數組段,Offset為在元素數組中的起始位置 //Count為要提取的個數 //Arary為原始數組 { sum += segment.Array[i]; //計算元素之和 } } return sum; }
調用:
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 }; //定義數組段的數組 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()); }
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#通過配置文件動態(tài)修改web.config內容的操作步驟
這篇文章主要介紹了C#通過配置文件動態(tài)修改web.config內容的操作步驟,文中通過圖文結合的方式介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-03-03c# 實現(xiàn)圓形的進度條(ProgressBar)
這篇文章主要介紹了c# 如何實現(xiàn)圓形的進度條(ProgressBar),幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下2021-03-03異步/多線程/任務/并行編程之一:如何選擇合適的多線程模型?
本篇文章小編為大家介紹,異步/多線程/任務/并行編程之一:如何選擇合適的多線程模型?需要的朋友參考下2013-04-04Unity3D Shader實現(xiàn)動態(tài)星空
這篇文章主要為大家詳細介紹了Unity3D Shader實現(xiàn)動態(tài)星空,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04