C# 截取一维数组 一段
时间: 2024-10-09 21:15:35 浏览: 46
在C#中,如果你需要从一维数组中截取一部分,可以使用`Array.Copy()`方法或者创建一个新的子数组。这里有两种常见的方式:
**方法1:使用Array.Copy()**
```csharp
byte[] originalArray = ...; // 原始数组
int startIndex = ...; // 起始索引
int length = ...; // 要截取的长度
if (startIndex + length > originalArray.Length)
{
throw new ArgumentException("The start index plus the length exceeds the array's bounds.");
}
byte[] slicedArray = new byte[length];
Array.Copy(originalArray, startIndex, slicedArray, 0, length);
```
这段代码会创建一个新的数组`slicedArray`,并将原始数组从`startIndex`开始的指定长度部分复制过去。
**方法2:创建子数组**
```csharp
byte[] originalArray = ...; // 原始数组
int startIndex = ...; // 起始索引
int length = ...; // 要截取的长度
byte[] slicedArray = originalArray.GetSubArray(startIndex, length);
```
注意,`GetSubArray`方法并非C#内置函数,此处仅作为演示。实际中应使用`ArraySegment<T>`或直接创建一个新的子数组`originalArray.Skip(startIndex).Take(length)`。
阅读全文