
問題
まず、このようなデータのセーブ/ロードを扱うクラスがありまして
C#
1public class MainData : MonoBehaviour{ 2 3 [ System.Serializable ] public struct 構造体A{//この構造体のインスタンスをjson形式で保存する。 4 public 構造体B b; 5 public 構造体C c; 6 public 構造体A( 構造体B arg0, 構造体C arg1 ){//コンストラクタ 7 b = arg0; 8 c = arg1; 9 } 10 } 11 12 構造体BCについては省略 13 14 public 構造体A data; 15 16 public void Data_Load(){ 17 data = 読み込んだデータ 18 } 19 20 public void Data_Save(){ 21 if ( data == null ) return// <-問題の箇所 22 dataをセーブ 23 } 24}
Data_Saveメソッドで、dataをセーブする前に
dataがnullかどうか(データが存在しているか)判定をしたいのですが、
data == null はダメらしく、
以下のようなエラーが出ました。
error CS0019: Operator '==' cannot be applied to operands of type 'SettingData.SaveData' and '<null>'
google翻訳:エラーCS0019:演算子 '=='は、タイプ 'SettingData.SaveData'および '<null>'のオペランドに適用できません
調べてみたところ、
構造体には == が定義されていないので使えないらしい。
という所までは分かったんですが、
どうやって判別すればいいのでしょうか?
(Unity2019)
回答1件
あなたの回答
tips
プレビュー