我的问题很简单。如何在程序的设置中存储双精度数组,并将其从中删除。

我已经知道了:

string[,] user_credits = new string[user_credits_array, 10];
                    user_credits[new_user_id, 0] = user_name;
                    user_credits[new_user_id, 1] = user_email;
                    user_credits[new_user_id, 2] = user_acc_name;
                    user_credits[new_user_id, 3] = user_acc_pass;
                    user_credits[new_user_id, 4] = sSelectedClient;
                    user_credits[new_user_id, 5] = server_inkomend;
                    user_credits[new_user_id, 6] = server_uitgaand;
                    user_credits[new_user_id, 7] = server_port + "";
                    user_credits[new_user_id, 8] = ssl_state;


如您所见,我是否使用用户ID将信息存储在一起。我以这种方式存储它:

Properties.Settings.Default.user_credits = user_credits;
Properties.Settings.Default.Save();


我做对了吗?现在该阵列仍处于用户设置中吗?

以及如何从具有正确用户ID的设置中获取信息呢?

我知道这听起来很疯狂,但是我认为这是最好的方法。但是,如果你们知道更好的方法,请告诉我。一世

编辑1:

我有这段代码:

string[,] user_credits = new string[user_credits_array, 10];
user_credits[new_user_id, 0] = user_name;
user_credits[new_user_id, 1] = user_email;
user_credits[new_user_id, 2] = user_acc_name;
user_credits[new_user_id, 3] = user_acc_pass;
user_credits[new_user_id, 4] = sSelectedClient;
user_credits[new_user_id, 5] = server_inkomend;
user_credits[new_user_id, 6] = server_uitgaand;
user_credits[new_user_id, 7] = server_port + "";
user_credits[new_user_id, 8] = ssl_state;

MySettings settingsTest = new MySettings();
settingsTest.Save(MySettings.GetDefaultPath());
MySettings anotherTest = MySettings.Load(MySettings.GetDefaultPath());


在运行代码之后,这就是XML文件的样子:

<Complex name="Root" type="WeProgram_Mail.MySettings, WeProgram_Mail, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
  <Properties>
    <Null name="user_credits" />
  </Properties>


现在我不明白为什么不保存数组。因为我有这条线

public string[,] user_credits { get; set; }


而且我认为那会从数组中获取用户设置,但是以某种方式却没有。

最佳答案

嗯,我明白了。
如您在XML文件中所看到的,MySettings实例(settingsTest)中的数组为空。
那是因为您将数组填充到settingsTest对象之外,并且永远不要触摸或初始化settingsTest.user_credits ...

请尝试以下操作:

MySettings settingsTest = new MySettings();
settingsTest.user_credits = new string[user_credits_array, 10];
settingsTest.user_credits[new_user_id, 0] = user_name;
settingsTest.user_credits[new_user_id, 1] = user_email;
settingsTest.user_credits[new_user_id, 2] = user_acc_name;
settingsTest.user_credits[new_user_id, 3] = user_acc_pass;
settingsTest.user_credits[new_user_id, 4] = sSelectedClient;
settingsTest.user_credits[new_user_id, 5] = server_inkomend;
settingsTest.user_credits[new_user_id, 6] = server_uitgaand;
settingsTest.user_credits[new_user_id, 7] = server_port + "";
settingsTest.user_credits[new_user_id, 8] = ssl_state;


settingsTest.Save(MySettings.GetDefaultPath());
MySettings anotherTest = MySettings.Load(MySettings.GetDefaultPath());

关于c# - 将数组[,]存储在用户设置中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11738642/

10-12 14:49
查看更多