IsolatedStorageSettings作爲一個詞典。如果你想訪問一個特定的鍵,它應該存在於詞典中。
如果你試圖改變一個已經存在,你可以這樣做值:
if (appSettings.Contains("key")) appSettings["key"] = "new value";
else appSettings.Add("key", "new value");
也不要忘記保存您的appSettings:
appSettings.Save();
而且還可以根據你的代碼 - 在國際空間站你不僅可以把string
- 它可以是任何物體,如果你想得到它,你應該做一個演員或使用as
:
string content = (string)appsettings["name"]; //converts to string
string content = appsettings["name"] as string;
編輯 - 評論後,如果您想擁有一個待辦事項列表重建一次
,你知道,每個任務都有其特定的標題,描述和時間,那麼我會建議創建一個特殊的類此,例如:
public class myTodo
{
public string TaskTitle { get; set; }
public string TaskDescription { get; set; }
public TimeSpan ElapsedTime { get; set; }
}
我用TimeSpan
,因爲我覺得它更容易使用它來管理時間。然後,如果你想保存/載入你myTodo
,你可以這樣做:
// create an example of your task
myTodo newTask = new myTodo() { TaskTitle = "Clean", TaskDescription = "Clean room", ElapsedTime = new TimeSpan(2, 0, 0) };
// add it to ISS and save
if (appSettings.Contains("firatTask")) appSettings["firatTask"] = newTask;
else appSettings.Add("firatTask", newTask);
appSettings.Save();
// try to load
myTodo read = appSettings["firatTask"] as myTodo;
你可以這樣訪問您的項目:
read.Title = TitleTextBox.Text; // and so on
考慮也作出並意識到,ISS還建議立即進行刪除處理這個問題:
List<myTodo> listJob = new List<myTodo>();
listJob.Add(firstTask); // firstTask is myToDo
listJob.Add(secondTask); // secondTask is myToDo
if (appSettings.Contains("listTask")) appSettings["listTask"] = listJob;
else appSettings.Add("listTask", listJob);
appSettings.Save();
List<myTodo> readList = appSettings["listTask"] as List<myTodo>;
你的意思是什麼嗎?在使用它之前,你是否在字典中添加了一個密鑰?例如,如果我將其更改爲 – Romasz
; 如果(appsettings.Contains( 「標題」)) { appsettings.Remove( 「標題」); appsettings.Add(「title」,TitleTextBox.Text); }將不起作用 – user2903379
可能不會。但是我不知道之前做的「姓名」任 – user2903379