Xamarin
Xamarin.iOS
Xamarin.Mac

Xamarin.Mac/iOSでbyte[]⇔NSData変換

byte[] と NSDataの変換

この変換をしなければならなくなってググってみると。
酢酸先生の記事が。

しかし、書かれているのは2013年。
どうやらその間に少し変わったようで。
今ではもう少し簡単になっていますので、忘備録として書いておきます。

NSData → byte[] の変換

var bytes = data.ToArray();

なんと一発。
大変楽になっています。

NSDataには、他に

IntPtr but = data.Bytes;

なんてのもありますが、ちょっと用途が違うので(戻り値型に注目)注意が必要です。

byte[] → NSData の変換

var data = NSData.FromArray(bytes);

NSData.From???関連は他にもあって。

理屈としては、 [NSData dataWithBytes:? length:?] やら、 [NSData dataWithContentsOfFile:?] やらのラッパーになっているだけなんでしょうが、こういうものがある、というのを知っているだけでもちょっと便利かと。