# Reinterpret<U>()

> Reinterpret a NativeArray<T>.ReadOnly with a different data type (type punning).

## Definition

* **Type:** Method
* **Namespace:** [Unity.Collections](/engine/6000.7/script-reference/unity/collections.md)
* **Assembly:** UnityEngine.ManagedKernelModule

## Reinterpret\<T>()

```csharp
public NativeArray<U>.ReadOnly Reinterpret<U>() where U : struct
```

### Returns

| Type                                                                                   | Description                                                                                                                                                   |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ReadOnly](/engine/6000.7/script-reference/unity/collections/nativearray1/readonly.md) | An alias of the [NativeArray\<T>.ReadOnly](/engine/6000.7/script-reference/unity/collections/nativearray1/readonly.md), but reinterpreted as the target type. |

### Remarks

The sizes of `T` and `U` must match. You can use this method to create a view into memory that has a different element size and length compared to the source array. For example, an array of float triples can be reinterpreted as an array of 3D vector structs.
