C# 参照の値渡し
引数にrefをつけない場合、再割り当てするとメソッドのローカル参照に新しいオブジェクトが割り当てられる。
0
1
2
using UnityEngine;
public class RefTest : MonoBehaviour
{
RefTestData data;
private void Start()
{
data = new RefTestData();
TestMethod(data);
Debug.Log(data.id);
TestMethod2(data);
Debug.Log(data.id);
TestMethod3(ref data);
Debug.Log(data.id);
}
public void TestMethod(RefTestData data)
{
data = new RefTestData();
data.id = 1;
}
public void TestMethod2(RefTestData data)
{
data.id = 1;
}
public void TestMethod3(ref RefTestData data)
{
data = new RefTestData();
data.id = 2;
}
public class RefTestData
{
public int id;
}
}
0
1
2
コメント
コメントを投稿