我想用GetPrivateProfileString
製作一個INI閱讀器。我使用的是什麼:GetPrivateProfileString not working .NET
public class Config
{
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string Section, string Key, string Default, StringBuilder RetVal, int Size, string FilePath);
private string path;
public Config(string path)
{
this.path = path;
}
public string PopValue(string section, string key)
{
StringBuilder sb = new StringBuilder();
GetPrivateProfileString(section, key, "", sb, sb.Length, path);
return sb.ToString();
}
}
現在我的INI文件:
[mysql]
host=localhost
我用什麼:
Console.WriteLine(Configuration.PopValue("mysql", "host"));
然而,它只是打印出一個空行,而不是localhost
。我究竟做錯了什麼?
**從不**使用GetPrivateProfileString(),由於它的appcompat行爲,它非常昂貴。讀取一個* single * ini參數的成本爲50毫秒。閱讀其中的20個,你已經吹了你的啓動時間。格式很簡單,很容易用StreamReader解析自己。 –