Форум программистов, компьютерный форум CyberForum.ru

Сохранение двумерного массива - Windows Phone

Восстановить пароль Регистрация
 
follow39
 Аватар для follow39
55 / 55 / 17
Регистрация: 27.01.2014
Сообщений: 374
22.09.2014, 22:39     Сохранение двумерного массива #1
Есть код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void SaveGame()
        {
            IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
            if (!settings.Contains("points"))
            {
                settings.Add("points", points);
            }
            else
            {
                settings["points"] = points;
            }
            if (!settings.Contains("Board"))
            {
                settings.Add("Board", Board);
            }
            else
            {
                settings["Board"] = Board;
            }
            settings.Save();
        }
Board - двумерный массив. При вызове этого метода вылетает исключение типа 'System.NotSupportedException' на последней скобке метода, т.е. при выходе из него. Стиудия пишет что нельзя записывать многомерные массивы в Settings, а Settings.Add принимает System.Object во втором параметре. Как быть?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
23.09.2014, 12:14     Сохранение двумерного массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
да потому что это огромные данные.
используйте сохранение и запись в файл.
follow39
 Аватар для follow39
55 / 55 / 17
Регистрация: 27.01.2014
Сообщений: 374
23.09.2014, 12:40  [ТС]     Сохранение двумерного массива #3
krupa, хорошо, спасибо.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
23.09.2014, 13:28     Сохранение двумерного массива #4
я не сильно помню какие-там ограничения, но на очень небольшие данные.
используете настройки в качестве хранения структур, но небольших. либо маленьких строк
с датой будьте аккуратнее. тоже может ругаться. тут лучше сохранять строку и после чтение парсить в дату.
follow39
 Аватар для follow39
55 / 55 / 17
Регистрация: 27.01.2014
Сообщений: 374
23.09.2014, 20:08  [ТС]     Сохранение двумерного массива #5
krupa, спасибо большое, буду разбираться.
DeMoSa34
3 / 3 / 0
Регистрация: 05.08.2013
Сообщений: 31
01.10.2014, 03:58     Сохранение двумерного массива #6
автор, поделись если нашел решение проблемы, похожая ситуация...
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
01.10.2014, 15:52     Сохранение двумерного массива #7
я же написал - пишем в файл, а не в настройки телефона.
или опишите проблему подробнее
DeMoSa34
3 / 3 / 0
Регистрация: 05.08.2013
Сообщений: 31
02.10.2014, 03:24     Сохранение двумерного массива #8
Есть массив, в котором меняется значение одной из переменной, на "2". Надо что бы изменения сохранялись, и при следующем запуске приложения.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
namespace example
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Конструктор
        int[,] TextIndex = new int[100, 2];
        int number;
        public MainPage()
        {
            InitializeComponent();
 
            TextIndex[1, 0] = 1;
            TextIndex[2, 0] = 1;
            TextIndex[3, 0] = 1;
            TextIndex[4, 0] = 1;
            TextIndex[5, 0] = 1;     
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            number = Convert.ToInt16(textbox.Text.ToString());
            if (number > 5) number = 5;
            if (number < 1) number = 1;
            TextIndex[number, 0] = 2; 
            
        }
 
    }
}
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
02.10.2014, 12:42     Сохранение двумерного массива #9
нужно брать и писать при выходе из приложения в файл либо по нужным изменениям.
это не сложно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2014, 22:30     Сохранение двумерного массива
Еще ссылки по теме:

Windows Phone Сохранение данных, Сериализация

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
DeMoSa34
3 / 3 / 0
Регистрация: 05.08.2013
Сообщений: 31
07.10.2014, 22:30     Сохранение двумерного массива #10
Не знаю как сделать что бы из файла считывал в массив, точнее обработать:
Например в текстовом файле 3 строки, в строке 3 слова, разделены " | " считываю строку, делю ее по признаку,
Пример текста из файла:
Задание1|Ответ1|Вопрос1
Задание2|Ответ2|Вопрос2
Задание3|Ответ3|Вопрос3

Как это считать что бы получился массив:
TextZag[1, 0] = Задание1;
TextZag[1, 1] = Ответ1;
TextZag[1, 2] = Вопрос1;
TextZag[2, 0] = Задание2;
TextZag[2, 1] = Ответ2;
TextZag[2, 2] = Вопрос2;
TextZag[3, 0] = Задание3;
TextZag[3, 1] = Ответ3;
TextZag[3, 2] = Вопрос3;

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(fs, Encoding.Default);
 
            string line;
            string[] splittedPieces;       
            string[,] TextZag = new string[100, 3];
 
            while ((line = sr.ReadLine()) != null)
            {
                splittedPieces = line.Split('|');
 
                foreach (string rowReader in splittedPieces)
                {
                    TextZag[1, 0] = splittedPieces[0];
                    TextZag[1, 1] = splittedPieces[1];
                    TextZag[1, 2] = splittedPieces[2];                  
                    TextZag[2, 0] = splittedPieces[0];
                    TextZag[2, 1] = splittedPieces[1];
                    TextZag[2, 2] = splittedPieces[2];                   
                    TextZag[3, 0] = splittedPieces[0];
                    TextZag[3, 1] = splittedPieces[1];
                    TextZag[3, 2] = splittedPieces[2];
Yandex
Объявления
07.10.2014, 22:30     Сохранение двумерного массива
Ответ Создать тему
Опции темы

Текущее время: 20:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru