我試圖保存IsolatedStorageSettings中的對象以保存我的遊戲的高分,但每當我嘗試保存對象的更新副本C#似乎認爲對象沒有改變。我試圖爲HighScores類創建一個自定義的Equals函數,但這似乎沒有幫助。使用IsloatedStorageSettings保存自定義對象
任何想法我做錯了什麼?
感謝
public bool AddOrUpdateValue(string Key, Object value)
{
bool valueChanged = false;
// If the key exists
if (isolatedStore.Contains(Key))
{
// If the value has changed
if (isolatedStore[Key] != value) //This keeps returning false
{
// Store the new value
isolatedStore[Key] = value;
valueChanged = true;
}
}
// Otherwise create the key.
else
{
isolatedStore.Add(Key, value);
valueChanged = true;
}
return valueChanged;
}
//This is located inside the HighScores class
public bool Equals(HighScores newHighScores)
{
for (int i = 0; i < highScores.Length; i++)
{
if (!highScores[i].Name.Equals(newHighScores.GetIndex(i).Name))
{
return false;
}
if (!highScores[i].Time.Equals(newHighScores.GetIndex(i).Time))
{
return false;
}
}
return true;
}
謝謝,我實現==和!=。但它仍然無法正常工作。我在運行Save()之前檢查了IsolatedStore的值,並保存了正確的值。但是,當我再次啓動應用程序時,這些值不會持續。任何其他想法? – 2011-05-12 08:19:20
所以你可以通過你的代碼和'AddOrUpdateValue'按預期工作? – AwkwardCoder 2011-05-12 08:28:27
是的。保存命令是什麼似乎是搞砸 – 2011-05-12 20:32:51