Есть обыкновенный одномерный массив из 4 элементов,мне нужно что сделать вот допустим по умолчанию все элементы массива равны -1.Потом они могут изменятся программой Скажм массив будет выглядеть вот так:
1,-1,0,-1
и мне нужно сделать так чтобы элемент массива не равный -1 максимально сдвинулся влево и принял такой вид
1,0,-1,-1. У меня получилось сделать это,но есть проблемы с элементами массива когда все несколько элеметов не равны -1 и в ходе программы средний элемент поставить на -1.Тогда 2 предидущих тоже станут -1,непонятно че короче с ним происходит =).Код выглядит так:
Код
for (int l = 0; l <= Player.LastOpenBag.Length; l++) { if(Player.LastOpenBag[l] == -1) { for(int i = 0;i < Player.LastOpenBag.Length;i++) { if(Player.LastOpenBag[i] != -1 && i>l && i!=l) { Player.LastOpenBag[l] = Player.LastOpenBag[i]; Player.LastOpenBag[i] = -1; } } } }
Этот код валяется в FixedUpdate.Повторю.Я хочу сделать чтоб все элементы массива не равные -1 скучковались левее,те что равны -1 справа
Сообщение отредактировал Valik_Fenko - Понедельник, 18 Января 2016, 14:20
var aboveZero = Player.LastOpenBag.Select(x => x).Where(x => x >= 0).ToList(); var lessThatZero = Player.LastOpenBag.Select(x => x).Where(x => x < 0).ToList();
karuy.Моя код был рабочий.Надо только было break; поставить в цикле...Сам разобрался
Добавлено (18 января 2016, 22:38) --------------------------------------------- и что есть var? это же Java я просто с c# работаю.Пардон ,забыл уточнить