#c#
#c#
Вопрос:
Мне нужно запомнить определенный целочисленный массив после закрытия программы, а затем загрузить при запуске для сохранения, я сделал это:
List<int[]> lst = drops_counter.OfType<int[]>().ToList();
ArrayList arrayList = new ArrayList(lst);
Properties.Settings.Default.lstl = arrayList;
где lstl — это тип ArrayList, который является единственным способом хранения массива в c #, как я узнал здесь . (если есть другой тип, который решит мою проблему, не возражайте изменить)
Для загрузки массива при запуске я сделал это
int[] f1 = Properties.Settings.Default.lstl.OfType<int>().ToArray();
Но теперь я застрял, так как не знаю, как преобразовать объект в массив.
если есть решение моей проблемы или другой способ решить эту проблему, я буду более чем счастлив, потому что единственный другой способ сделать это — использовать ФАЙЛ EXCEL, а это значит зависеть от другой программы.
Пожалуйста, помогите
Искренне ваш
Гильдин Илья
Комментарии:
1. Где вы узнали о «единственном способе хранения массива»? Это совсем не так.
2. Быстро и грязно было бы просто сериализовать в файл и десериализовать файл при запуске. Посмотрите, что означает сериализация, тогда все просто.
3. Ваши типы кажутся неправильными. У вас есть а
List<int[]>
или аint[]
?4. Список<int[]> является допустимым типом, не так ли?
5. Вы можете хранить массив в любом постоянном хранилище, которое только можете себе представить: файле свойств, любом другом текстовом файле, XML, Excel, CSV, базе данных, системном реестре и т. Д. Вам просто нужно найти соответствующий класс, который обрабатывает этот тип файла.
Ответ №1:
Вы можете сохранить список массивов, используя свойства.Настройки. Здесь можно найти очень хороший пример использования Settigns http://www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C
из статьи:
Если область действия пользовательская, то ее можно изменить во время выполнения, и новое значение будет сохранено для вас, которое вы затем сможете прочитать при другом запуске программы. Это именно то, что большинству из нас нужно от этого класса,
Комментарии:
1. Но это не то, что мне нужно, я уже знаю, как сохранить все переменные, кроме массивов, на самом деле я могу сохранить массив, но у меня проблема загрузить его обратно
2. возможно, вы захотите прочитать это так. Предположим, вы сохранили это значение в свойствах DefaultAccount. если у вас есть имя переменной, скажем, account, куда вы хотите загружать данные при запуске своей программы, вы можете прочитать его как => var account = <YourProjectName>.Properties . Настройки. По умолчанию. Учетная запись; Используете ли вы настройки, как я предложил?
3. да, он отлично работает с переменными, спасибо за все ранние ответы, которые мне очень помогли, у меня только сейчас возникла проблема с массивом, вот и все, я попытался сохранить его так же, как переменную, это не сработало, мой босс на моей первой работе сказал мне больше думать, если я не получу ответа до воскресенья, просто сохранитев файле EXCEL