0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 15
|
|||||||||||
1 | |||||||||||
List<List<float>> Или как оперировать коллекцией в колекции15.07.2019, 16:31. Показов 2763. Ответов 10
Метки нет (Все метки)
Есть ряд точек с координатами x,y, через гипотенузу буду рассчитывать дистанцию друг от друга
что то вроде этого
0
|
15.07.2019, 16:31 | |
Ответы с готовыми решениями:
10
Работа с коллекцией List Что предпочтительней в плане быстродействия и работы с памятью: List<List<string>> - new или .Clear() Конвертировать один элемент из List<List<Class>> в list и string Linq преобразование List<List<double>> в List<Array> |
SETI
64 / 49 / 18
Регистрация: 09.04.2018
Сообщений: 210
|
|
15.07.2019, 16:35 | 2 |
Strelokps, А зачем тебе такая коллекция? Лично мне кажется такой подход неправильным. Мы не будем знать какой точке какое расстояние соответствует и оперировать этим сложно.
0
|
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 15
|
||||||
15.07.2019, 16:50 [ТС] | 3 | |||||
Я указал минимум полей в классе, на самом деле их гораздо больше, и там есть и id и name
Тогда лучше использовать
Так вообще можно делать ?
0
|
управление сложностью
|
|
15.07.2019, 16:53 | 4 |
Можно, но не нужно. Лучше создать классы точка (с координатами) и фигура (будет хранить коллекцию точек с координатами)
Добавлено через 1 минуту У класса должен быть только один мотив для изменения - расширения возможностей.
0
|
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 15
|
|
15.07.2019, 16:57 [ТС] | 5 |
т.е. отдельно класс точек с x,y name, id
и отдельно класс видимо с наследование от класса точек, в котором будет дистанция и name, так ?
0
|
управление сложностью
|
|
15.07.2019, 17:01 | 6 |
Нет. Класс фигура, и класс точка. В классе фигуры будет коллекция точке. Ну и можно добавить метод, определяющий периметр (если фигура замкнутая)
0
|
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 15
|
|
15.07.2019, 17:04 [ТС] | 7 |
Можно пример накидать,а то не очень понятно ?
Добавлено через 47 секунд А... речь не идет о фигуре, точки расположены рандомно.
0
|
SETI
64 / 49 / 18
Регистрация: 09.04.2018
Сообщений: 210
|
||||||
15.07.2019, 17:57 | 8 | |||||
Strelokps,
0
|
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 15
|
||||||
15.07.2019, 18:29 [ТС] | 9 | |||||
Тогда получится, что при создании экземпляра Figure:
varList.Add(new Figure {list}) ?! хотя мне ни каких периметров и фигур не надо )) Может я не корректно описал проблему. Есть ряд точек рандомно расположенных на координатной сетке. У каждой точки есть название и много других параметров. Каждая точка должна знать какая дистанция до другой точки. Мне виделось, что дистанцию и имя лучше прописывать в том же объекте, что и координаты. Наверно можно сделать другой класс наследник, и в нем сделать коллекцию с полями selfName, distanceToName, distance, где selfName и distanceToName будут коррелировать с родительским классом. Это явно проще для меня реализовать, но такой метод мне не нравится, т.к. добавляет новую сущность
0
|
SETI
64 / 49 / 18
Регистрация: 09.04.2018
Сообщений: 210
|
||||||
15.07.2019, 18:39 | 10 | |||||
Strelokps, Мне лень думать, этот код только на твоей совести
0
|
Модератор
|
|
15.07.2019, 18:50 | 11 |
Давайте разберём.
Есть тип точки. Есть список экземпляров точек. Теперь в список добавляем новый экземпляр. Откуда все остальные точки могут знать, что в список добавлена ещё точка? Откуда точка может знать, что её куда-то добавляют? В обоих случаях - это недоступная информация для типа точки. Поэтому эта задача (хранить расстояния) должна решаться на уровне списка точек. Можно сделать какой-то производный тип от коллекции точек, в котором переопределить методы добавления/удаления экземпляров, что бы одновременно вычислялись/удалялись расстояния до точки и сделать свойство хранящее список всех расстояний.
0
|
15.07.2019, 18:50 | |
15.07.2019, 18:50 | |
Помогаю со студенческими работами здесь
11
Как узнать размерность внутреннего вектора в массиве List<List<Double>>? Как пройтись по Списку List<Point2D> по номерам элементов которые хранятся в List<int> Как изменить свойство элемента в list? List<MyClass> Как написать метод List<T> ToList(DoubleList<T> list)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |