有誰知道如何將點值添加到數組?添加點數組
添加點數組
回答
爲什麼你想要的數組是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','Point'每個都有一個'x'和一個'y',所以你有'array [0] .x'' array [0] .y'和'array [1] .x'和'array [1] .y'。你不會說數組有4個值,因爲它有2個點,每個點有2個值。你可以有任何類型的數組,這樣說數組有4個值,因爲每個點有兩個沒有意義。我可以有一個'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. Android MapView JSON數組添加點數組
- 2. 節點js:util.inspect添加對象到數組
- 3. 使用javascript數組添加節點
- 4. 添加單維浮點數組值
- 5. 添加一個浮點數組
- 6. 添加節點和分組
- 7. 添加參數或添加數組?
- 8. 添加numpy數組
- 9. Java,添加數組
- 10. 添加天數組
- 11. C#將可見節點添加到節點數組
- 12. OpenGL ES - 更新頂點數組,添加/刪除頂點
- 13. 添加追加numpy數組
- 14. 在添加值時向數組添加
- 15. 添加元素添加到數組
- 16. 添加倍數args數組
- 17. 向數組添加整數
- 18. 添加零的浮點數
- 19. 在點擊對象數組後添加新數據
- 20. 將對象添加到數組數組
- 21. 將數組添加到會話數組
- 22. 將對象添加到數組數組
- 23. 將數組添加到數組
- 24. 將數組添加到數組
- 25. Json數組添加到php數組
- 26. 向數組插入/添加數組
- 27. 添加數組交錯數組C#
- 28. 將數組添加到數組PHP
- 29. 將浮點值添加到元組
- 30. Reactjs:點擊按鈕添加組件
難道你不能只使用一個點數組,然後在需要的時候將X和Y值轉換爲雙倍值? –