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

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

本文实例讲述了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#程序设计有所帮助。

标签:C#,数组段
0
投稿

猜你喜欢

  • c#多线程之线程基础

    2022-10-06 20:34:44
  • 实战android打包和签名

    2023-11-18 10:23:50
  • Java分形绘制山脉模型

    2023-05-10 00:51:29
  • Java的RxJava库操作符的用法及实例讲解

    2021-12-14 22:31:41
  • 详细图解Java中字符串的初始化

    2023-11-20 19:34:24
  • Spring Cloud 系列之服务调用 OpenFeign的实现

    2023-10-20 07:34:00
  • Android SQLite数据库增删改查操作的使用详解

    2023-04-18 09:17:22
  • IntelliJ IDEA 安装教程2019.09.23(最新版)

    2023-08-24 23:01:44
  • Springboot整合MybatisPlus的实现过程解析

    2021-06-14 02:47:06
  • C#执行存储过程并将结果填充到GridView的方法

    2022-08-08 06:25:38
  • Android使用Item Swipemenulistview实现仿QQ侧滑删除功能

    2021-08-16 19:47:35
  • Java中的clone方法详解_动力节点Java学院整理

    2023-07-31 15:37:33
  • C#中变量、常量、枚举、预处理器指令知多少

    2021-05-26 18:29:11
  • C#难点逐个击破(8):可空类型System.Nullable

    2023-07-04 14:49:40
  • Base64编码解码原理及C#编程实例

    2022-05-07 03:58:53
  • MapTask工作机制图文详解

    2021-12-13 11:03:27
  • android 实现在照片上绘制涂鸦的方法

    2023-09-17 13:24:49
  • c# wpf如何附加依赖项属性

    2023-01-09 05:05:56
  • Unity中的PostProcessBuild实用案例深入解析

    2021-06-08 13:48:51
  • 详解SpringCloud Ribbon 负载均衡通过服务器名无法连接的神坑

    2021-06-01 07:28:41
  • asp之家 软件编程 m.aspxhome.com