本文实例讲述了C#中数组段用法。分享给大家供大家参考。具体分析如下:
1.数组段说明
① 结构ArraySegment
某方法传递数组的一部分,就可以使用数组段。通过ArraySegment
(数组,数组段开始位置,从开始位置选择的元素个数),也可以只传递一个参数
② 数组段不会复制原数组的元素,但原数组可以通过ArraySegment
如果数组段中的元素改变了,则这些变化就会反映到原数组
2.一个例子
private int SumOfSegments(ArraySegment[] segments) { int sum = 0; foreach(ArraySegment segment in segments) //循环存放数组段的数组 { 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[2]
{
new ArraySegment(arr1,0,3),
new ArraySegment(arr2,3,3)
};
var sum=SumOfSegments(segments);
MessageBox.Show(sum.ToString());
}
希望本文所述对大家的C#程序设计有所帮助。



