Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
8 / 8 / 4
Регистрация: 23.07.2012
Сообщений: 261
1

Добавить в массив, находящийся в структуре, значение

20.10.2015, 20:19. Просмотров 1037. Ответов 10
Метки нет (Все метки)


нужно добавить в массив находящийся в структуре значение значение

Я так понимаю что вся проблема в том что не указан размер масива. подскажите пожалуйста как поправить?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
class Program
{
    public struct data
    {
        public string[] strings;
    }
 
    static void Main(string[] args)
    {
        var data1 = new data();
        data1.strings[1] = "abc";
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2015, 20:19
Ответы с готовыми решениями:

Необходимо создать массив на 1 елемент, и записать туда значение. Пользователь может добавить значение или удалить. И выйти
У меня возникла ошибка с удалением значения. Помогите пожалуйста. Где нужно исправить код во втором...

Добавить в массив значение
Добрый вечер. В результате запроса получаю массив в переменной $items. Array ( => Array ( =>...

Надо вывести значение на находящийся в одной из таблиц
Есть две таблицы Cars (id, model_id,price), models (id, name) надо вывести значения машины которые...

Добавить к структуре указанное количество секунд
Нужно реализовать функцию, в которой к общему времени добавляется количество секунд s. Но это число...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
10
467 / 425 / 120
Регистрация: 05.01.2010
Сообщений: 1,800
20.10.2015, 20:20 2
используйте, например, List вместо массива
1
8 / 8 / 4
Регистрация: 23.07.2012
Сообщений: 261
20.10.2015, 20:21  [ТС] 3
да это решит проблему. Но хотелось бы сделать всё же с массивом.
0
467 / 425 / 120
Регистрация: 05.01.2010
Сообщений: 1,800
20.10.2015, 20:26 4
riotel, ну тогда инициализируйте массив)
1
8 / 8 / 4
Регистрация: 23.07.2012
Сообщений: 261
20.10.2015, 20:28  [ТС] 5
не могли бы вы привести пример
0
TheGreatCornholio
1235 / 715 / 283
Регистрация: 30.07.2015
Сообщений: 2,392
20.10.2015, 20:31 6
Вместо структуры используй класс и перегрузи индексатор this[] в классе, будешь обращаться как data[1], а хранить все в поле strings и вставлять\удалять, проверять инициализацию, позиции - в методе, реализующем
индексатор.

Добавлено через 2 минуты
Но в целом мероприятие суровое, объемное(для такой задачи) и бесполезное по-моему.
1
467 / 425 / 120
Регистрация: 05.01.2010
Сообщений: 1,800
20.10.2015, 20:35 7
riotel, https://msdn.microsoft.com/ru-... fscd0.aspx
1
8 / 8 / 4
Регистрация: 23.07.2012
Сообщений: 261
20.10.2015, 20:41  [ТС] 8
valera_21,

Вот так вы имеете ввиду?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Program
{
    public struct data
    {
        public string[] strings;
    }
 
    static void Main(string[] args)
    {
        var data1 = new data();
        string[] s = new string[9];
        s[1] = "1";
        data1.strings = s;
 
        System.Console.WriteLine(data1.strings[1]);
        System.Console.ReadKey();
    }
}
Добавлено через 4 минуты
Woldemar89, Если можно приведите простейший пример.
0
467 / 425 / 120
Регистрация: 05.01.2010
Сообщений: 1,800
20.10.2015, 20:47 9
Лучший ответ Сообщение было отмечено riotel как решение

Решение

riotel, не...
C#
1
data1.strings = new string[9];
1
8 / 8 / 4
Регистрация: 23.07.2012
Сообщений: 261
20.10.2015, 21:03  [ТС] 10
Спасибо. По неопытности почему то не сообразил. А ведь это то что нужно.
0
TheGreatCornholio
1235 / 715 / 283
Регистрация: 30.07.2015
Сообщений: 2,392
20.10.2015, 21:06 11
Цитата Сообщение от riotel Посмотреть сообщение
Если можно приведите простейший пример.
Кликните здесь для просмотра всего текста
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Data data = new Data(10);
 
            try
            {
                data[1] = "one";
           
               // data[11] = "eleven";
 
                Console.WriteLine(data[1]);
                Console.WriteLine(data[0]);
                //Console.WriteLine(data[10]);
 
            }
            catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); }
            
            Console.ReadKey();
 
        }
    }
 
    public class Data
    {
        private string[] strings; //храним в привате тут
 
        public string this[int index] //получаем устанавливаем значения тут
        {
            get
            {
                if (index < 0 || index > strings.Length - 1) throw new Exception(@"Your index > length of array or < 0!");
                return strings[index];
            }
            set
            {
                if (index < 0 || index > strings.Length - 1) throw new Exception(@"Your index > length of array or < 0!");
                strings[index] = value;                
            }
        }
 
        public Data(int _count) //конструктор, принимающий размерность
        {
            strings = new string[_count];
        }
 
    }
 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2015, 21:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Передать значение ячейки dataGridView в label находящийся в другой форме
Мне нужно сделать генератор теста, т.е. при нажатии на кнопку &quot;next question&quot; в label на форме...

Как добавить значение в массив через метод класса?
Здравствуйте! В классе есть массив private $description = array('a','b',NULL,'c',NULL); Есть...

Как добавить новое значение в одномерный динамический массив?
При создании динамического массива и добавления нового значение, значение куда-то теряется. Кусок...

Массив: Найти максимальный элемент, находящийся на главной диагонали
задание: в MS Visual Basic 6.0 разработать приложение, которое формирует двумерный целочисленный...


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

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

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