Version: 2023.1
LanguageEnglish
  • C#

NativeSlice<T0>

struct in Unity.Collections

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

A NativeSlice is a view on a buffer of native memory most commonly acquired from a NativeArray. It doesn't own any memory allocations and can't be disposed.

Internally, a NativeSlice provides systems that means they can be used safely with jobs. In contrast to a NativeArray a NativeSlice is never the owner of a memory allocation and can't be disposed. A NativeSlice doesn't necessarily represent a contiguous memory range but supports a stride value. The stride value determines the number of bytes from the first byte of the element to the first byte of the next element. The stride value must always be a multiple of the size of the type of the slice in bytes. The stride value allows you to skip elements from the underlying buffer. By default, the stride is set to the size of the type of slice in bytes. This means that the slice represents a contiguous memory range. If you don't need a stride and are only working with contiguous memory ranges, consider using NativeArray instead.

Properties

LengthNumber of elements in the slice.
StrideReturns the stride value set for the NativeSlice instance.
this[int]Access NativeSlice elements by index. Notice that structs are returned by value and not by reference.

Constructors

NativeSlice_1Constructs a new slice from a NativeArray or NativeSlice.

Public Methods

CopyFromCopy all the elements from a NativeSlice or managed array of the same length.
CopyToCopy all the elements of the slice to a NativeArray or managed array of the same length.
GetEnumeratorGets an enumerator to iterate through the elements of the NativeSlice.
SliceConvertReinterprets the NativeSlice as having a different data type (type punning).
SliceWithStrideSliceWithStride.
ToArrayConvert the NativeSlice to managed array.

Operators

NativeSlice<T>Implicit operator for creating a NativeSlice from a NativeArray.