Задать вопрос

Как полностью очистить массив?

Добрый вечер, друзья.
Есть массив
public int[] checkAddDel;

checkAddDel = new int[Word.Length]

По ходу выполнения сценария, массив заполняется.
Мне необходимо его в итоге сбросить в 0 элементов. Как это сделать, подскажите пожалуйста ?

Список List использовать уже не вариант, очень много переписывать)
  • Вопрос задан
  • 8514 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@kttotto
пофиг на чем писать
checkAddDel = new int[0]
Массив всегда имеет предопределенную длину, которая не меняется, можно только создать новый с нужным размером.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@Sumor
Вы можете после использования сделать:
checkAddDel = null;
или
checkAddDel = new int[0];
А заполненный ранее массив уничтожится сборщиком мусора.
Ответ написан
Комментировать
tomnolane
@tomnolane
профессиональный разработчик
используйте статический класс Array с методом Resize от самого msdn
var myArray = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Array.Resize(ref myArray, 0);
Ответ написан
Комментировать
lexxpavlov
@lexxpavlov
Программист, преподаватель
Возможно, лучше взять список List<int> вместо массива:
public List<int> checkAddDel;

checkAddDel = new List<int>(Word.Length); // предварительно указывать размер не обязательно, 
                                          // но если известно заранее, то лучше указать

Console.WriteLine(checkAddDel.Count); // 0
for (var i = 0; i < Word.Length; i++)
{
    checkAddDel.Add((i + 1) * 10);
}
Console.WriteLine(checkAddDel.Count); // размер теперь стал равным Word.Length

// используем список
DoWork(checkAddDel);

checkAddDel.Clear(); // теперь стал пустым
Console.WriteLine(checkAddDel.Count); // 0
Ответ написан
Комментировать
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
Список List использовать уже не вариант, очень много переписывать)
вообще то это единственный разумный вариант. а если освоить фичи рефакторинга VS то и переписывать навряд ли страшно много
Ответ написан
Комментировать
@ToKoMoK
var _myArray = Array.Empty();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы