ソースコード
using Unity.Collections;
namespace Kogane
{
public static class NativeArrayExtensionMethods
{
public static void Reverse<T>( this NativeArray<T> self ) where T : unmanaged
{
var halfLength = self.Length / 2;
var i = 0;
var j = self.Length - 1;
for ( ; i < halfLength; i++, j-- )
{
( self[ i ], self[ j ] ) = ( self[ j ], self[ i ] );
}
}
}
}
使用例
using Kogane;
using Unity.Collections;
using UnityEngine;
public class Example : MonoBehaviour
{
private void Start()
{
using var array = new NativeArray<int>( 3, Allocator.Temp );
array.CopyFrom( new[] { 1, 2, 3 } );
array.Reverse();
foreach ( var x in array )
{
Debug.Log( x );
}
}
}
参考サイト様