ネコのために鐘は鳴る

寺院に住み着くパソコ〇好き

Unity (.netstandard2.0) でSpan<T>を使う

Unity でAPIターゲットを.netstandard2.0にしてSpan<T>を使うときに必要なライブラリたち。

.net 4.x系をターゲットにしても使える気はする(が面倒なので確認していない)。まあ、多少依存関係が違うのでnugetのパッケージのdependencyを見て適当に必要なの持ってこればOK。monoおよびIL2CPP環境で動かなさそうなものがあったら知らぬ。

必要な物 (.net standard2.0)

nuget から必要なものを持ってくる

Span<T>自体は System.Memory.dll 内にあるが、依存関係で下の二つのdllも必要。 依存関係自体はもう1つ System.Numerics.Vectors.dll もあるがUnityの場合これはnugetから取らなくても初めから参照されている。

Unityはそのままではnugetと連携できないので上記のリンクから .nupkg ファイルを直接ダウンロードしてdllを引っこ抜いてプロジェクトに置く。.nupkg はただのzipなのでzipにリネームして解凍すればいい。

 

Span<T>だけでなくArrayPool<T>やらUnsafeやらもついてくるので楽しさ嬉しさ3倍増し。