有關完整的煩躁的緣故,我會在我的評論擴大,這裏是你將如何做到這一點的一些示例代碼:
Dictionary<string, string> _keys = new Dictionary<string, string>();
private void ReadInKeyFile(string keyFileName)
{
_keys.Clear();
string[] lines = System.IO.File.ReadAllLines(keyFileName);
foreach (string line in lines)
{
string[] keyval = line.Split('=');
_keys.Add(keyval[0], keyval[1]);
}
}
private string GetValue(string key)
{
string retVal = string.Empty;
_keys.TryGetValue(key, out retVal);
return retVal;
}
的Dictionary<string, string>
認爲是讀取鍵/值對從文件中輸入,所以當你想刷新它時,你可以用文件名稱調用ReadInKeyFile
函數。然後,您可以使用GetValue
來獲取特定密鑰的值(如果找不到密鑰,則可以使用String.Empty
)。
有一些明顯的檢查,我在上面的代碼中缺少(文件不存在,行不包含=
等),但它會讓你90%的方式。
編輯
下面是一些擴展,將新的鑰匙和寫出來的文件:
private void SaveKeysToFile(string keyFileName)
{
StringBuilder sb = new StringBuilder();
_keys.ToList().ForEach(kvp =>
sb.AppendLine(string.Format("{0}={1}", kvp.Key, kvp.Value)));
System.IO.File.WriteAllText(keyFileName, sb.ToString());
}
private void AddValue(string key, string value)
{
_keys[key] = value;
}
的SaveToFile
方法可轉換字典您使用的文件格式, AddValue
添加一個鍵和值(或者如果它已經存在,則更改現有的鍵)。
首先,讀取所有行,然後對每行使用=符號分割字符串,這會給你兩個字符串。將這些字符串存儲在一個'Dictionary'中,然後可以執行像'myDictionary [「AKey」]''的操作。 –
由於您以自定義格式存儲數據,因此您需要編寫自定義分析器來從該格式讀取數據。 – David
@Sam說如果我有一個代碼說'保存(「myNumber」,1);'所以這將是'保存(字符串名,int數);'這將保存到一個文本文件爲** myNumber = 1 **。然後我有另一個獲取_myNumber_的值的方法,它會是這樣的:'Get(「myNumber」)'('Get(string name)')並且在這種情況下返回值1。 – superhb