ArraySegment

第一个构造函数

Initializes a new instance of the ArraySegment<T> structure that delimits all the elements in the specified array.

public ArraySegment(
T[] array
)

Parameters
array
Type: T[]
The array to wrap.

Remarks

This constructor creates an ArraySegment<T> that delimits all the elements of array.

That is, the Offset property of the ArraySegment<T> is 0 and its Count property is the length of array.

To create an ArraySegment<T> that delimits划界,定界限 only part of an array, use the ArraySegment<T>(T[], Int32, Int32) constructor.

The original array must be one-dimensional and must have zero-based indexing.

Multiple ArraySegment<T> instances can refer to the same original array and can overlap重叠.

第二个构造函数

Initializes a new instance of the ArraySegment<T> structure that delimits the specified range of the elements in the specified array.

初始化一个ArraySegment<T>,从array的offset下标开始,往后count个元素

public ArraySegment(
T[] array,
int offset,
int count
)

Parameters

array
Type: T[]

The array containing the range of elements to delimit.

offset
Type: System.Int32

The zero-based index of the first element in the range.

count
Type: System.Int32

The number of elements in the range.

Remarks

The original array must be one-dimensional and must have zero-based indexing.

Multiple ArraySegment<T> instances can refer to the same original array and can overlap.

时间: 2024-10-08 09:18:31

ArraySegment的相关文章

【读书笔记】C#高级编程 第六章 数组

(一)同一类型和不同类型的多个对象 如果需要使用同一类型的多个对象,就可以使用数组或集合(后面章讲). 如果需要使用不同类型的多个对象,可以使用Tuple(元组)类型. (二)简单数组 如果需要使用同一类型的多个对象,可以使用数组.数组是一种结构,它可以包含同一类型的多个元素. 1.数组的声明 在声明数组时,应先定义数组总元素的类型,其后是一堆空方括号和一个变量名. 例子: 以下代码声明了一个包含整形类型的数组 int[] intArray; 2.数组的初始化 声明了数组后,就必须为数组分配内存

Asp.net core中的websocket

Websocket是html5后的产物,对于asp.net core中也得到了支持,首先在NuGet中添加Microsoft.AspNetCore.WebSockets的引用(现在是1.0.1版本,2017年3月7日发布的). 首先在Configure中添加中间件 //添加websocket中间件 app.UseWebSockets(); 接下来就要定义自己处理websocket的中间件了,代码如下: using Microsoft.AspNetCore.Http; using System;

asp.net中应用websocket

1.连续找了几天解决ajax轮询在用户量多的时候卡死浏览器的方案,comet.SignalR等等.都没有得到满意的解决,最后还是用了websocket临时解决了 2.解决方案,还是需要用到.net framework 4.5版本下  IHttphandler 1 public void ProcessRequest(HttpContext context) 2 { 3 if (context.IsWebSocketRequest) 4 { 5 context.AcceptWebSocketReq

FastSocket学习笔记~制定自已的传输协议~续~制定基于FastSocket的协议

FastSocket这个东西上次我已经说过,它使用简单,功能强大,扩展灵活,目前在新浪的生产环境中已经被广泛使用,所以它的性能,安全等各方面我们绝对可以信赖,今天我们来说一个话题,和上一讲有关,这次我们制作一个基于FastSocket的传输协议,它的意义重大,当fastSocket提供的协议不能满足项目要求时,我们就必须硬着头皮去自己写了,还好,fastsocket为我们铺好了路,我们只要按着这条路走下去,就可以了. 自定义的协议格式如下 说干就干 首先,如果要想扩展一个自己的协议,要对 cli

WCF扩展之实现ZeroMQ绑定和protocolBuffer消息编码(三)实现ReplyChannel(2016-03-15 12:35)

这是这个系列的第三篇,其他的文章请点击下列目录 WCF扩展之实现ZeroMQ绑定和protocolBuffer消息编码(一)概要设计 WCF扩展之实现ZeroMQ绑定和protocolBuffer消息编码(二)实现IRequestChannel WCF扩展之实现ZeroMQ绑定和protocolBuffer消息编码(三)实现ReplyChannel 相对于RequestChannel,ReplyChannel比较复杂一些. 1 启动zmq的rep结点 首先需要重载OnOpen方法,启动zmq的r

.net基础扫盲-自定义泛型类

C#自定义泛型类用得最广泛,就是集合(Collection)中.实际上,泛型的产生其中一个原因就是为了解决原来集合类中元素的装箱和拆箱问题(如果对装箱和拆箱概念不明,请百度搜索).由于泛型的使用,使得集合内所有元素都属于同一类,这就把类型不同的隐患消灭在编译阶段--如果类型不对,则编译错误. 这里只讨论C#自定义泛型类. 基本自定义如下: public class MyGeneric < T> { private T member; public void Method (T obj) { }

C# 编码标准(一)

一直想写一个自己用的代码标准,经过一段时间的优秀开源源码的观察和看其他人写的标准,感觉好的代码给人感觉就是舒服,也非常重要.所以把它们记录归纳总结,以备以后忘记,另外平时写代码的时候可以拿来参考下.下面的示例主要以Microsoft的代码为准. 命名约定 PascalCasing PascalCasing 每一个单词第一个字母大写,其余字母均小写.例如:FileAccess,ArraySegment等. 除了参数.变量.常量外,所有命名空间名称.类.函数.接口.属性.事件.枚举等名称的命名,使用

SuperSocket基础二

SuperSocket基础(二)-----一个完成SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官方文档写的很清晰,如何接受客户端发来的二进制报文并做响应的解析.下面就从一个完整的项目出发,记录SuperSocket的开发过程. 1.项目场景:现有十多个RTU设备,用来监测自来水管的压力和流量,需要将十多个传感器传来的值接收并做解析来使用.用SuperSocket写一个Socket服务器,实时监

ASP.NET Core Building chat room using WebSocket

Creating "Login form" We use here simple form where user can insert his or her preferred nick name for chat. To keep us focused on WebSocket stuff we don't add any logic or checks in this point. Let's add view called InsertUserName.cshtml under