Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.77
ayrat_net
82 / 82 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
#1

Как объявить массив, размерность которого заранее не известна - C#

21.02.2012, 22:54. Просмотров 4736. Ответов 9
Метки нет (Все метки)

как определить массив если мы не знаем сколько элементов в нем будет?

 Комментарий модератора 
Заголовок продумываем

http://www.cyberforum.ru/csharp-beginners/thread816483.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 22:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как объявить массив, размерность которого заранее не известна (C#):

Объявить объект класса заранее
Возможно ли сделать как-то так: a; if() { Class1 a = new Class1();...

Как мне объявить массив ?
Как объявить массив от переменной hi.a{23,23};Тип того ток двумерный? using...

Как глобально объявить массив
Помогите Создал Button в котором Фиксируются массивы А в других действиях...

Как объявить безразмерный массив?
Как объявить безразмерный массив?

Как объявить массив заданной размерности
Не могу понят, что тут не так, код из с книги. using System; class Hello {...

9
kleenex
14 / 14 / 3
Регистрация: 18.02.2011
Сообщений: 53
21.02.2012, 23:14 #2
никак. тут нужно извращаться исходя из задачи.
то есть можно, но это явно не то, что Вы ожидаете
C#
1
2
int[] integer;
int[] integer = null;
2
ayrat_net
82 / 82 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
21.02.2012, 23:26  [ТС] #3
Пожалуй я сейчас использую ваш хитрыйспособ или буду извращаться )))
1
kleenex
14 / 14 / 3
Регистрация: 18.02.2011
Сообщений: 53
22.02.2012, 00:00 #4
прошу прощения, что сразу не написал: задавать размер все равно придется таким вот образом:
C#
1
integer = new int[*размер*]
2
ayrat_net
82 / 82 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
22.02.2012, 00:15  [ТС] #5
Да я уж перед тем как вопрос задать почитал об этом Да вроде и Выход нашел, как лучше НАЙТИ СПОСОБ РЕШЕНИЯ ЭТОЙ ПРОБЛЕМЫ
СПАСИБО БРО ))
1
egik
12 / 12 / 2
Регистрация: 11.04.2011
Сообщений: 76
22.02.2012, 15:10 #6
если нашол то почему не показал
1
ayrat_net
82 / 82 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
22.02.2012, 20:12  [ТС] #7
Выход извращенный, поэтому и не выкладываю.
Но решение следующие:

1) Если ты не знаешь сколько элементов в твоем массиве будет то ставь как можно больше, если есть информация, что данный массив не будет больше какого-то числа то ставь в количестве элементов это число.
2) Заполняешь этот массив исходя из каких то данных, используешь If(условие что присваиваемое значение верно) и к дополнительной переменной присваиваешь +1 что это значение верно.
3) В результате ты получаешь массив где будут идти сначала правильные значения, а потом пустые
4) Создаешь новый массив и указываешь в ней количество элементов то которое мы считали (как +1 +1 +1..., то есть количество правильных значений)
5) Проходимся по циклу for(int i=0 i<(количество правильных значений); i++) и каждому элементу нового значения присваиваем значения старого массива под таким же индексов (так как порядок старого массива сначала правильные значения, а затем пустые значения)

Вот и все ))) (Надеюсь Вы ничего не поняли) (Админы и модераторы, там есть плохие слова)
1
Casper-SC
Эксперт .NET
3581 / 1801 / 345
Регистрация: 27.03.2010
Сообщений: 5,064
Записей в блоге: 1
22.02.2012, 20:22 #8
Может просто автор не вкурсе про существование List<T>?
1
kleenex
14 / 14 / 3
Регистрация: 18.02.2011
Сообщений: 53
22.02.2012, 20:27 #9
а также можно использовать List'ы:

C#
1
2
3
4
5
using System.Collections.Generic;
.....
List<int> integer = new List<int>();
integer.Add(*значение*);
int[] integerArray = integer.ToArray();
остальное почитайте на mdsn
Casper-SC опередил
1
ayrat_net
82 / 82 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
22.02.2012, 22:12  [ТС] #10
Это для меня открытие
Учимся на своих ошибках
Всем пожалуйста

Добавлено через 1 час 42 минуты
Все разобрался. Штука офигительная
1
22.02.2012, 22:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2012, 22:12
Привет! Вот еще темы с решениями:

Как объявить динамический массив указателей?
Как объявить в c# динамический массив указателей?

Как объявить в теле структуры массив
Всем здравствуйте. Вот объявление структуры (без выравнивания границ, то есть...

Подскажите, как объявить массив из другого класса?
У меня прописан массив в одном классе, а этот массив нужно использовать в...

Глобальный массив структур: как объявить и где
Три вопросов по данной теме) 1)как описывать? 2)как объявлять? 3)где всё...


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

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

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