Zefirot
@Zefirot

Как отсортировать объекты по их переменным?

У меня есть объект и у него допустим переменная
public int CountTest = 1;
// объекты хранятся в массиве
public PrefabTest[] ArrayPrefabTest;
// то есть доступ до переменной
ArrayPrefabTest[0].CountTest = 1;
ArrayPrefabTest[1].CountTest = 15;
ArrayPrefabTest[2].CountTest = 3;
ArrayPrefabTest[3].CountTest = 30;

со временем эти переменные принимают разные значения и при переборе массива
for(int i = 0; i < ArrayPrefabTest.Length; ++i){
  if(ArrayPrefabTest[i].CountTest == ....

мне нужно делать там разные штуки, только вот что мне нужно - нужно чтобы они перебирались не по порядку, а пересортировалились по этой переменной (к примеру по убыванию), то есть чтобы я получал массив в следующем порядке
ArrayPrefabTest[3].CountTest = 30;
ArrayPrefabTest[1].CountTest = 15;
ArrayPrefabTest[2].CountTest = 3;
ArrayPrefabTest[0].CountTest = 1;

Как его так отсортировать, пусть это даже будет отдельный временный массив, либо набор ключей в нужном порядке, типа 3,1,2,0...
Подскажите как?
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
foreach (var pref in ArrayPrefabTest.OrderByDescending(x => x.CountTest)) { }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы