0
我對我的活動有一個(奇怪的)問題,當我從一個活動傳遞給另一個活動(創建地圖 - >播放)時,我保存了一個副本(原始地圖)「我的狀態「在用戶點擊」重啓「按鈕(在執行活動期間編輯原始」狀態「變量)時,用於恢復它的變量(在OnCreate方法中)。但不可思議的是(對我來說)複製變量像原始版本一樣更新。什麼是錯誤?可變自動刷新xamarin android
int[,] state = new int[10,10];
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.step_by_step);
int[] array = Intent.GetIntArrayExtra("arrayintero");
//re-convert the array in 2D-array
int[,] initial = new int[10, 10];
int conta = 0;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
state[i, j] = array[conta]
conta++;
}
}
//initial is the copy variable
initial = state;
//update the map
update_draw(buttonArray, state);
//when the restart button is clicked
restart.Click += delegate
{
Toast.MakeText(this, "restart", ToastLength.Short).Show();
//restore the map
update_draw(buttonArray, initial);
//update the original variable
state = initial;
};
C#數組是對象,所以你只需創建兩個指向同一個對象。 – Jason
謝謝@Jason!我已經使用'Array.Copy(狀態,0,初始,0,100); 「 – Albenzo