winform 存储键值对配置

程序经常需要存储一些简单的配置,就像 Android 的 SharedPreferences,winform可以这样子实现

        [DllImport("Kernel32.dll")]
        public static extern int GetPrivateProfileString(
            [MarshalAs(UnmanagedType.LPStr)] string lpAppName,
            [MarshalAs(UnmanagedType.LPStr)] string lpKeyName,
            [MarshalAs(UnmanagedType.LPStr)] string lpDefault,
            StringBuilder lpReturnedString,
            int nSize,
            [MarshalAs(UnmanagedType.LPStr)] string lpFileName
            );

        [DllImport("Kernel32.dll")]
        public static extern int WritePrivateProfileString(
            [MarshalAs(UnmanagedType.LPStr)] string lpAppName,
            [MarshalAs(UnmanagedType.LPStr)] string lpKeyName,
            [MarshalAs(UnmanagedType.LPStr)] string lpString,
            [MarshalAs(UnmanagedType.LPStr)] string lpFileName
            );

        private const string lpFileName = "MyApp.ini";
        private const string lpAppName = "MyApp";

        public static void PutString(string key, string value)
        {
            //Console.WriteLine($"SpUtil#PutString() - {key}={value}");
            string path = Environment.CurrentDirectory + $@"\{lpFileName}";
            WritePrivateProfileString(lpAppName, key, value, path);
        }

        public static string GetString(string key, string defValue)
        {
            string path = Environment.CurrentDirectory + $@"\{lpFileName}";
            StringBuilder sb = new StringBuilder(128);
            GetPrivateProfileString(lpAppName, key, defValue, sb, 128, path);
            return sb.ToString();
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值