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倍増し。