(13)C#里使用比较难理解的IList<ArraySegment<byte>>类型
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(13)C#里使用比较难理解的IList<ArraySegment<byte>>类型相关的知识,希望对你有一定的参考价值。
经常做网络开发,需要接收网络的数据,由于TCP的数据是一段一段地接收到的,那么需要把这些数据放到缓冲区,然后又需要把这些数据合并起来使用。
因此就会使用IList<ArraySegment<byte>>类型,使用ArraySegment<byte>来保存收到的一段数据,然后使用List来保存所有分段的数据。
初学C#的人,使用这个类型,往往比较难理解,所以需要通过例子来练习它。
比如怎么样从IList<ArraySegment<byte>>类型转换为byte[]数组,又或者怎么样往里面添加数据。
先来看一下ArraySegment<T>的定义:
#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.5\\mscorlib.dll
#endregion
using System.Collections;
using System.Collections.Generic;
namespace System
{
//
// 摘要:
// 分隔一维数组的一部分。
//
// 类型参数:
// T:
// 数组段中元素的类型。
public struct ArraySegment<T> : IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T&
以上是关于(13)C#里使用比较难理解的IList<ArraySegment<byte>>类型的主要内容,如果未能解决你的问题,请参考以下文章