누군가 포인트 값을 배열에 추가하는 방법을 알고 있습니까?포인트 추가 배열
답변
왜 배열의 유형을 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);
배열에 2 개의 Point를 추가하면 배열에 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' 's를 가지며'Point'의 각각은'x'와'y'를 가지므로'array [0] .x'' 배열 [0] .y'과' 'array [1] .x'와'array [1] .y'입니다. 배열에 2 개의 점이 있고 점에 각각 2 개의 값이 있으므로 배열에 "4 개의 값"이 있다고 말할 수 없습니다.모든 유형의 배열을 가질 수 있으므로 배열에 4 개의 값이 있다고 말하면 각각의 점에는 2가 들어 있기 때문에 의미가 없습니다. 'File []'또는'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. 배열에서 다각형에 포인트 추가
- 2. 포인트 배열 알고리즘
- 3. 100 포인트 배열 초기화
- 4. Opencv 포인트 문제 배열
- 5. 쓰기 포인트 배열
- 6. VBA 파워 포인트 그룹화 배열?
- 7. GGPLOT2 히스토그램에 포인트 추가
- 8. TurfJS MapBox에 포인트 추가
- 9. 파이썬 googlemaps 포인트 추가
- 10. ordiplot3d()에 포인트 추가
- 11. 날씨지도에 포인트 추가
- 12. java.lang.Appendable에 코드 포인트 추가
- 13. ZedGraph에 포인트 객체 추가
- 14. kineticjs 라인 포인트 배열 내용
- 15. , VSTO 추가 기능으로 파워 포인트
- 16. 차트 컨트롤 x 포인트 추가
- 17. 각 사용자에 대한 포인트 추가
- 18. y 축에 포인트 추가 HIGHCHARTS
- 19. 동적으로 하이 차트 추가 포인트
- 20. 이미 저장된 그래프에 새 데이터 포인트 추가
- 21. 배열 설정 해제 키 스트레이트 포인트
- 22. 포인트 n에서 배열 [Double]을 분할하는 방법
- 23. 포인트 배열이 사각형 배열 안에 있는지 확인하십시오.
- 24. 포인트 2D 배열 비교 및 작성
- 25. lvalues 및 시퀀스 포인트 제한이없는 배열
- 26. 중복이없는 java에서 무작위 포인트 배열 생성
- 27. 배열 목록에 배열 변수 추가
- 28. Amazon DynamoDB에서 배열 배열 추가
- 29. 포인트 포인트 =
- 30. 컨트롤러로 돌아가거나 페이지를 다시로드하지 않고지도에 포인트 추가
포인트 배열을 사용하고 필요에 따라 X 및 Y 값을 두 배로 캐스팅 할 수 없습니까? –