C# как добавить элемент в массив?

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
var array = mass[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

Это и понятно, а как потом по ходу действия в конец добавить еще?
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Массивы в c# неизменяемые и при добавлении создается новый массив, так что использование его в таких целях нерационально. Лучше уж использовать очередь/стек/лист
 
  • Спасибо
Реакции: Gfoblin

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
  • Спасибо
Реакции: Gfoblin

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Если не сложно, подскажи плз как мне строку 1,2,3 разделить через запятую и закидать в очередь в виде чисел или в числа мне надо на выходе преобразовывать? :-)
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Если не сложно, подскажи плз как мне строку 1,2,3 разделить через запятую и закидать в очередь в виде чисел или в числа мне надо на выходе преобразовывать? :-)
Код:
string test = "1,2,3";
Stack<int> stack = new Stack<int>(test.Split(',').Select(x => Convert.ToInt32(x)));
А если добавлять, то надо использовать метод Push:

Код:
string test = "1,2,3";
Stack<int> stack = new Stack<int>(test.Split(',').Select(x => Convert.ToInt32(x)));
string test2 = "4,5,6";
foreach (var num in test2.Split(',').Select(x => Convert.ToInt32(x)))
    stack.Push(num);
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 980
Благодарностей
4 433
Баллы
113
Вот у меня массив в переменной. Определяется как System.Int32[].
Как мне где-то в проекте обратиться к одному элементу этого массива?
Это что, в кубике конвертировать в строку, строку через сплит, потом в цикле опять к int приводить?
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Вот у меня массив в переменной. Определяется как System.Int32[].
Как мне где-то в проекте обратиться к одному элементу этого массива?
Это что, в кубике конвертировать в строку, строку через сплит, потом в цикле опять к int приводить?
Через project.Context.
C#:
project.Context["intArray"] = new int[]{1, 2, 3, 4, 5};
Где надо берем
C#:
int[] array = project.Context["intArray"];
 
  • Спасибо
Реакции: Astraport

sitnem

Client
Регистрация
03.12.2016
Сообщения
122
Благодарностей
78
Баллы
28
Последнее редактирование:

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
А, в интерфейсе ProjectMarket'e можно, где-то посмотреть значения project.Context[*] или только посредством кода C#?
Только через код.
Т.к. по другому в этом смысла нет.
В зенке только один тип переменных, это string.
Так какой смысл иметь доступ к project.Context через интерфейс PM, ведь наверное подразумевается что туда можно что то запихнуть?
А положить string значение можно и в обычную зенковскую переменную, нет смысла для этого использовать project.Context.
 
  • Спасибо
Реакции: sitnem

sitnem

Client
Регистрация
03.12.2016
Сообщения
122
Благодарностей
78
Баллы
28
Так какой смысл иметь доступ к project.Context через интерфейс PM
Для более гибкого процесса разработки и отладки.
Мне кажется значения и структуру переменных, в том числе всевозможных массивов, было бы удобно видеть перед глазами. Плюс ко всему, пользователь видит дополнительные возможности Project Market'a, что можно оказывается сохранять массивы напрямую в память. Я вот только сегодня об этом узнал: в своё время полазил по интерфейсу, и пришел к выводу, что можно работать только со строковыми переменными...
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)