在项目中存储变量

时间:2015-07-23 19:26:14

标签: c# .net

我正在寻找一个简单的wpf c#项目来计算一家英国公司的员工纳税。要做到这一点,我需要存储不经常更新的英国免税额。这些值应该是10000和45000(这些不是我知道的实际数字),但它们可能需要在将来更新。 我计划将应用程序存储在中央网络上。

我已经考虑过使用资源来存储这些值,但这会让用户更新这些值,我不想这样做。

我查看了隔离存储like here,但我认为当真正需要存储和更新用户进行更新时,不同用户可以更改其税限。

我读过的关于app.config文件的所有内容都表明,对于这样的变量来说,这不是正确的地方。

那么我应该怎么做才能存储这些数据?我想我可以放下一个Txt或XML文件,在这种情况下很好,但不会作为一个安全的选项,链接到SQL db似乎超过顶部

在这种情况下,最佳做法是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

如果安全扩展名不重要,您可以将值序列化到文件中。 Json很好很简单(使用json.net)。如果你需要更多的余量,你可以把它变成一个数组,而不是上下。

定义一个类;

public class Allowances
    {
        public decimal LowerAllowance { get; set; }
        public decimal UpperAllowance { get; set; }
    }

然后您可以将其序列化/反序列化为该文件。

        var allowances = new Allowances
        {
            LowerAllowance = 10000m,
            UpperAllowance = 45000m
        };

        File.WriteAllText("allowances.json", JsonConvert.SerializeObject(allowances));

        var readAllowances = JsonConvert.DeserializeObject<Allowances>(File.ReadAllText("allowances.json"));

        Console.WriteLine(readAllowances.LowerAllowance);
        Console.WriteLine(readAllowances.UpperAllowance);

您可以在应用中创建一个加载值的屏幕,然后将其保存回来。