概要
C# 9.0 までは引数なしコンストラクタを定義できないため
構造体のフィールドに初期値を設定できない
代替案としてフィールドを nullable にして
プロパティの getter でフィールドが null なら初期値を設定する方法がある
using UnityEngine; public struct Data { private int? m_number; private string m_name; public int Number => m_number ??= 25; public string Name => m_name ??= "ピカチュウ"; } public class Example : MonoBehaviour { private void Start() { var data = new Data(); Debug.Log( data.Number ); // 25 Debug.Log( data.Name ); // ピカチュウ } }