Cy#の河合です。今回、文字列生成におけるメモリアロケーションをゼロにする「ZString」というライブラリを公開しました。そこで、この記事ではZStringの紹介の他に、あらためてC#の文字列についてを深く分解して解説し、Stringの複雑さと落とし穴、そしてZStringの必要性について解説します。 [GitHub – Cysharp/ZString] 以下の表は `”x:” + x + ” y:” + y + ” z:” + z` という単純な文字列連結においてのパフォーマンス計測です。 それぞれ “x:” + x + ” y:” + y + ” z:” + z ZString.Concat(“x:”, x, ” y:”, y, ” z:”, z) string.Format(“x:{0} y:{1} z:{2}”, x, y, z) ZString.Format(“x:{0} y:
![ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成](https://cdn-ak-scissors.b.st-hatena.com/image/square/30c189f33204383b1f3e4f8428d8a7e1645cba6a/height=288;version=1;width=512/https%3A%2F%2Ftech.cygames.co.jp%2Fwp-content%2Fuploads%2F2020%2F02%2Fzstring_01_table.png)