以下の内容はhttps://baba-s.hatenablog.com/entry/2022/09/08/093956より取得しました。


【C#】構造体のフィールドに初期値を設定する代替案

概要

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 );   // ピカチュウ
    }
}

参考サイト様




以上の内容はhttps://baba-s.hatenablog.com/entry/2022/09/08/093956より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14