Кто-нибудь знает, как добавить значения Point в массив?Добавление массива точек
ответ
Почему вы хотите, чтобы массив имел тип double
? Вы можете просто использовать массив Point
;
Point[] points = new Point[2];
points[0] = new Point(15,15);
points[1] = new Point(200,220);
double someResult = (points[0].x - points[1].x) * (points[0].y - points[1].y);
Или зацикливать их;
for (int i = 0; i < points.Lenght; i++)
{
// do something with points[i]
}
Или с перечнем;
List<Point> points = new List<Point>();
points.Add(new Point(1,1)); //ect
или
List<Point> points = new { new Point(1,1), new point(2,2) //ect };
foreach (Point p in points)
{
// do something with p
}
Некоторые случайные LINQ, что вы могли бы благоприятствовать за петлю;
double xTotal = points.Aggregate((c, n) => c.x + n.y); // gives sum or all x values
double yTotal = points.Aggregate((c, n) => c.y + n.y);
Когда я добавляю две точки в массив, означает ли это, что массив будет содержать 4 значения?
Сорт. Массив будет содержать два экземпляра Point
. Каждый из них имеет значение x
и значение y
, но обычно вы можете сказать, что массив имеет 2 значения. Если вы просто хотите удвоить группу 4, вы можете вообще не использовать Point
. Вы можете объявить структуру вроде;
public struct Rect
{
double a;
double b;
double c;
double d;
}
и у вас есть 4 двухместных номера, более сгруппированные. Или вы можете использовать Tuple<double, double, double, double>
, хотя большинство разработчиков, вероятно, найдут немного странным (эй, мне они нравятся как минимум). Однако это только чтение.
var tuple = new Tuple<double, double, double, double(1, 2, 3, 4);
@ user3213304 массив содержит два 'Point', каждый из которых имеет' '' '' '' '' '' '' '' '' '' '' [0] .x' 'array [0] .y' и 'array [1] .x' и' array [1] .y'. Вы не сказали бы, что массив имеет «4 значения», потому что он имеет 2 точки, а каждый из них имеет 2 значения.У вас может быть массив любого типа, так что массив имеет 4 значения, потому что точки, каждый из которых имеет два, не имеет смысла. Я мог бы иметь «Файл []» или «string []» или «double []». Количество элементов в массиве не зависит от свойств содержащихся в нем типов. – evanmcdonnal
@ user3213304 также есть примеры циклов. Я не знаю, как вы хотите умножить значения. Если вы просто хотели применить это уравнение, вы должны иметь все элементы в массиве или списке, да, это было бы достаточно легко. Но я не думаю, что это действительно имело бы смысл сделать это, мне нужно больше объяснять, чего вы хотите достичь. – evanmcdonnal
Спасибо, вы все объяснили очень хорошо. – user3213304
Я предлагаю вам объявить класс и вот оно:
public class Rectangle
{
public Rectangle(Point left, Point right)
{
Left = left;
Right = right;
}
private Point Left{get; set;}
private Point Right{get; set;}
public double CalculateArea()
{
return (points[0].x - points[1].x) * (points[0].y - points[1].y);
}
}
А вот как вы можете использовать его:
var rec = new Rectangle(new Point(15,15), new Point(200,220));
var someResult = rec.CalculateArea();
В общем, вы бы лучше рефакторинга ваша программа использует массивы Point, поскольку она имеет более смысловое значение.
Но если это правда, прямоугольник (не просто четырехсторонняя формы, где вам нужно четыре очка вместо двух), вы можете сделать это:
public double[] ConvertPointsToArray(Point topLeft, Point bottomRight)
{
var points = new double[4];
points[0] = topLeft.x;
points[1] = topLeft.y;
points[2] = bottomRight.x;
points[3] = bottomRight.y;
return points;
}
И тогда вы можете использовать массив, как это :
var points = ConvertPointsToArray(left, right);
var value = (points[0] - points[2]) * (points[1] - points[3]);
Но как вы можете видеть, что вы должны знать, как точки кодируются в массиве, и это легко испортить.
Класс прямоугольника с двумя точками был бы более полезным.
- 1. Android MapView JSON Array Добавление массива точек
- 2. Добавление точек к многоугольнику из массива
- 3. Добавление искусственных точек останова
- 4. Добавление точек в ordiplot3d()
- 5. Добавление точек в system.out.println
- 6. IronPython: создание и добавление массива точек в GraphicsPath
- 7. Выбор конкретных точек из точек массива
- 8. Сравните два массива точек
- 9. Добавление значений точек в dotchart
- 10. Добавление точек в гистограмму GGPLOT2
- 11. Добавление десятичных точек в PHP
- 12. Добавление контрольных точек в полилинию
- 13. Добавление точек на изображении - начинающий
- 14. перенасыщение - добавление точек к окну
- 15. Добавление точек данных в Highcharts
- 16. Добавление путевых точек в ns3
- 17. андроид добавление точек линии макет
- 18. Одновременно добавление точек и привязка
- 19. Добавление точек многоугольника из значений Line2D
- 20. Добавление точек к объекту без перезаписи существующих точек
- 21. Масштабирование и поворот массива точек
- 22. Получить UIImage из массива точек
- 23. Поиск GeoPoints из массива точек
- 24. Как анализировать «шумность» массива точек
- 25. массива точек с OpenGL Android
- 26. Сортировка массива с помощью «точек»
- 27. Scala способ преобразования массива точек
- 28. Рисовать гистограмму из массива точек
- 29. Добавление массива?
- 30. xcode mapview при прокрутке, обнаружении близлежащих точек из массива точек
Не можете ли вы просто использовать массив точек, а затем придать значениям X и Y удвоения, если/когда вам нужно? –