C#構造体は罠が多いから使うなとまで言う人もいるくらいだからなあ

>>87
C#の構造体は値型なのでヒープには作られず参照は使用されない。そのため構造体変数への代入は毎回全データのコピーが発生する

newがいるのはコンストラクタを呼び出すためで、コンストラクトが完了してない変数は使用できないという制限をクリアするため
Cの構造体のnewのようにメモリアロケートが発生しているわけではない

transform.positionはプロパティなので値を取得した時点で中身がコピーされた別データになる
このためxだけを変えても「コピーのxを変える」という操作にしかならない