软件编程
位置:首页>> 软件编程>> C#编程>> C#中数组段用法实例分析

C#中数组段用法实例分析

作者:永远爱好写程序  发布时间:2022-06-11 23:08:05 

标签: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)
 //循环存放数组段的数组
 {
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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com