Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 23.04.2020
Сообщений: 7
1

Работа с List, условие для создания нового List

28.09.2020, 13:36. Показов 3284. Ответов 5

Author24 — интернет-сервис помощи студентам
Всем привет
Попал в тупик, есть список с MeshRender объектов, есть список с уникальными Color этих объектов.
Нужно составить новый список meshRendererOne с уникльными по цвету MeshRender.
Пытался таким образом, код ниже, фильтр не работает, попадают все, исходя из условия, другого не придумал. Как записать правильно? Знаю что ответ где то близко, но никак не зацеплю

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//лист с листами уникальных по цвету  MeshRender
    public List<List<MeshRenderer>> meshRenderersColor;
//все MeshRender
    public List<MeshRenderer> meshRenderers;
//лист с уникальными Color
    public List<Color> unicumColors;
 
            meshRenderersColor = new List<List<MeshRenderer>>();
            for (int i = 0; i < meshRenderers.Count; i++)
            {
                List<MeshRenderer> meshRendererOne = new List<MeshRenderer>();
                for (int j = 0; j < unicumColors.Count; j++)
                {
                    if (unicumColors[j] == meshRenderers[i].material.color)
                    {
                             meshRendererOne.Add(meshRenderers[i]);
                    }
                 }
 
                     meshRenderersColor.Add(meshRendererOne);
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2020, 13:36
Ответы с готовыми решениями:

Конвертировать один элемент из List<List<Class>> в list и string
Как можно перевести один выбранный элемент из List&lt;List&lt;Data&gt;&gt; myList в list и string? Например,...

Работа с STL list + пропись List.h
Здравствуйте! Помогите, пожалуйста, разобраться с STL list. Нужно сделать программу в которой...

Грамотная работа с List<List<string>>
Здравствуйте, присваиваю переменной List&lt;List&lt;string&gt;&gt; значения другой переменной(тоже...

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из ...

5
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
28.09.2020, 14:35 2
https://docs.microsoft.com/en-... etcore-3.1
1
0 / 0 / 0
Регистрация: 23.04.2020
Сообщений: 7
28.09.2020, 14:58  [ТС] 3
Да видел Distinct, но как его применить? я так понимаю это тот случай когда нужно в классе задавать условия.
Если не сложно, то было бы здорово посмотреть на данный пример с кодом
0
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
28.09.2020, 15:02 4
Пример есть там же по ссылке.
0
0 / 0 / 0
Регистрация: 23.04.2020
Сообщений: 7
28.09.2020, 15:31  [ТС] 5
Окей, но если все же пока я разбираюсь кто то напишет, то респект
0
0 / 0 / 0
Регистрация: 23.04.2020
Сообщений: 7
01.10.2020, 07:32  [ТС] 6
С Distinct так и не понял как делать, сделал по другому
Вдруг кому пригодится
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 meshRenderersColor = new List<List<MeshRenderer>>();
            //перебор цвета n из уникальных цветов
            foreach (Color n in unicumColors)
            {   //создание листа для работы
                List<MeshRenderer> meshRendererOne = new List<MeshRenderer>();
                //перебор всех Мэшей
                for (int i = 0; i < meshRenderers.Count; i++)
                {   //если Мэш не содержится в meshRendererOne и Мэш = цвету Мэша уникального цвета
                    if (!meshRendererOne.Contains(meshRenderers[i]) &&
                             meshRenderers[i].material.color == n) 
                    {
                        //добавить Мэш в список
                        meshRendererOne.Add(meshRenderers[i]);
                    }
                }
                //если список meshRendererOne существует
                if (!meshRendererOne.Contains(null))
                {
                    meshRenderersColor.Add(meshRendererOne);
                }
            }
0
01.10.2020, 07:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2020, 07:32
Помогаю со студенческими работами здесь

Добавление строк и элементов в коллекцию для коллекций <List<List<T>
Доброго времени суток , никак не могу добавить строку в коллекцию коллекций . У меня нет...

Инициализация элементов списка списков (List<List>) происходит одинаково для каждого элемента
Доброго времени суток. Не знаю как лучше озаглавить эту тему, но у меня проблема со следующим...

Определить предикат Р(List,Х) который истинен если Х состоит из пар элементов списка List,сумма которых больше половины элементов List
Помогите пожалуйста написать программу,буду очень благодарен,заранее спасибо! Определить предикат...

Как создать условие для поиска в List?
Здравствуйте. Имеется List&lt;IWebElement&gt; ElementLi = new...

Использовать контейнер List<string> для создания связного списка строк
Использовать контейнер List&lt;string&gt; для создания связного списка строк. Создать два списка...

Except для List<List<string>>
имеются 2 коллекции типа List&lt;List&lt;string&gt;&gt;. с помощью Except я хочу удалить все элементы первой...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru