Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
follow39
61 / 61 / 18
Регистрация: 27.01.2014
Сообщений: 425
#1

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

22.09.2014, 22:39. Просмотров 681. Ответов 9
Метки нет (Все метки)

Есть код:
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 во втором параметре. Как быть?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2014, 22:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сохранение двумерного массива (Windows Phone):

Сохранение двумерного массива в одномерном - Turbo Pascal
Дан массив A(N,M). Сохранить в одномерном массиве вторую строку.

Чтение и запись (сохранение) двумерного массива - C#
Имеется двумерный массив, нужно, чтобы пользователь мог его сохранить, а потом снова открыть.

Сохранение двумерного массива и сравнение с уже имеющимися - Python
Есть некий двумерный массив чисел. Необходимо сохранить этот массив и сравнить его с уже имеющимися массивами. Подскажите, как лучше...

Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива. - C++
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом провести транспонирование.

Найти максимальный элемент двумерного массива и перенести его в конец массива - Assembler
Здравствуйте! Код ниже работает не совсем так, как ожидается от него в задании. Вводится вместо двумерного массива 6Х4 один одномерный...

Представление двумерного массива размерами n*m в виде одномерного массива длиной n*m элементов - Turbo Pascal
Написать программу для представления двумерного массива размерами n*m в виде одномерного массива длиной n*m элементов построчно

9
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
23.09.2014, 12:14 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
да потому что это огромные данные.
используйте сохранение и запись в файл.
1
follow39
61 / 61 / 18
Регистрация: 27.01.2014
Сообщений: 425
23.09.2014, 12:40  [ТС] #3
krupa, хорошо, спасибо.
0
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
23.09.2014, 13:28 #4
я не сильно помню какие-там ограничения, но на очень небольшие данные.
используете настройки в качестве хранения структур, но небольших. либо маленьких строк
с датой будьте аккуратнее. тоже может ругаться. тут лучше сохранять строку и после чтение парсить в дату.
1
follow39
61 / 61 / 18
Регистрация: 27.01.2014
Сообщений: 425
23.09.2014, 20:08  [ТС] #5
krupa, спасибо большое, буду разбираться.
0
DeMoSa34
3 / 3 / 0
Регистрация: 05.08.2013
Сообщений: 31
01.10.2014, 03:58 #6
автор, поделись если нашел решение проблемы, похожая ситуация...
0
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
01.10.2014, 15:52 #7
я же написал - пишем в файл, а не в настройки телефона.
или опишите проблему подробнее
0
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; 
            
        }
 
    }
}
1
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
02.10.2014, 12:42 #9
нужно брать и писать при выходе из приложения в файл либо по нужным изменениям.
это не сложно
0
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];
0
07.10.2014, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2014, 22:30
Привет! Вот еще темы с ответами:

Подсчитать сумму строк двумерного массива и вывести в виде одномерного массива - Pascal
Подсчитать сумму строк двумерного массива и вывести в виде одномерного массива. Не пойму как делать.

Передача массива данных в Excel или создание двумерного динамического массива - Visual Basic
Нашел на просторах вот такое: Dim oExcel As Object Dim oBook As Object Dim oSheet As Object 'Открыть новую книгу...

Функции ввода/вывода двумерного массива - Тип элементов массива неполный - C (СИ)
Доброго времени суток! // Автоматический ввод двумерного массива void Gets2ArrayRand(int** A, int M, int N) { int i,j; ...

Найти сумму элементов массива в заштрихованной области двумерного массива - Pascal
Найти сумму элементов массива в заштрихованной области двумерного массива.


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.