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

 更新时间:2015年05月15日 11:30:41   作者:永远爱好写程序  
这篇文章主要介绍了C#中数组段用法,实例分析了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#程序设计有所帮助。

相关文章

  • C# 中SharpMap的简单使用实例详解

    C# 中SharpMap的简单使用实例详解

    SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据(目前支持ESRI Shape和PostGIS格式),可应用于桌面和Web程序,具体内容详情大家参考下本文吧
    2017-08-08
  • C#实现密码验证与输错密码账户锁定

    C#实现密码验证与输错密码账户锁定

    这篇文章介绍了C#实现密码验证与输错密码账户锁定的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • c# SendMail发送邮件实例代码

    c# SendMail发送邮件实例代码

    这篇文章介绍了c# SendMail发送邮件实例代码,有需要的朋友可以参考一下
    2013-09-09
  • C#获取两个数的最大公约数和最小公倍数示例

    C#获取两个数的最大公约数和最小公倍数示例

    本文介绍了使用C#获取两个数的最大公约数和最小公倍数的示例,大家参考使用吧
    2014-01-01
  • 10个C#程序员经常用到的实用代码片段

    10个C#程序员经常用到的实用代码片段

    如果你是一个C#程序员,那么本文介绍的10个C#常用代码片段一定会给你带来帮助,从底层的资源操作,到上层的UI应用,这些代码也许能给你的开发节省不少时间。以下是原文:
    2015-09-09
  • C#中的匿名方法实例解析

    C#中的匿名方法实例解析

    这篇文章主要介绍了C#中的匿名方法,包括其由来、定义及用法等,需要的朋友可以参考下
    2014-09-09
  • C# SimpleJSON字典反序列化实战教程

    C# SimpleJSON字典反序列化实战教程

    C# 解析JSON道路千万条,其中最流行的还是由Newtonsoft出品的Json.NET,只需要将Json的结构做成C#的class,即可实现完美的序列化和反序列化,这篇文章主要介绍了C# SimpleJSON字典反序列化实战教程,需要的朋友可以参考下
    2024-03-03
  • C#影院售票系统毕业设计(4)

    C#影院售票系统毕业设计(4)

    这篇文章主要介绍了C#影院售票系统毕业设计,学习内容是总结销售信息的保存以及加载销售信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • c#判断网络连接状态

    c#判断网络连接状态

    有时我们要不停的判断网络的连接状态,比如服务器网络连接是否正常等,下面就简单介绍我的判断方法
    2014-01-01
  • C#使用HttpClient的正确方式你了解吗

    C#使用HttpClient的正确方式你了解吗

    在微服务架构体系中经常需要向特定 URL 地址发送 Http 请求操作,在 .net core 中 httpClient 使用不当会造成灾难性的问题,这篇文章主要来分享 .net core 中通过 IHttpClientFactory 工厂来使用 HttpClient 的正确打开方式
    2021-11-11

最新评论