2 차원 배열 속성을 사용하여 클래스를 만들려고합니다. 배열은 그리드 (예 : 0,1 또는 3,7)에서 다양한 x, y 좌표를 유지하며 배열 크기는 size라는 클래스 속성에 따라 다릅니다.2D 배열을 클래스 속성으로 - 어떻게 C# 방식으로 만들 수 있습니까?
어떻게하면 C#에서이 배열을 만들겠습니까? 아래에 제 솔루션을주었습니다. C# 경험이 거의없고 자바 스크립트 지식이있는 Python 배경에서 나오는 것처럼이 문제에 대한 더 나은 해결책이있는 것처럼 느껴집니다.
당신 중 하나가 C# 마법사가 나를 가르쳐 주시겠습니까?
미리 도움을 주셔서 감사합니다.
public class Obj
{
int Size; // Defines length of array
int[,] Pos;
// constructor
public Obj(int size)
{
this.Size = size;
this.Pos = new int[size, 2];
}
public void set_coord(int index, int x, int y)
{
if (index >= this.Size) {
Console.WriteLine("Catch OutOfRangeException");
}
else
{
this.Pos[index, 0] = x;
this.Pos[index, 1] = y;
}
}
또한 배열을 사용하는 대신 좌표를 갖는 클래스를 만듭니다. 예를 들어 두 속성 X와 Y를 가진'Coordinate' 클래스가 있습니다. 그러면 좌표의 1D 배열을 만듭니다. –
FYI : C#에서는 속성이 꽤 다른 것입니다. 여기서 사용해야하는 용어는 * field *입니다. 또한 배열을 만드는 것처럼 보이므로 질문이 명확하지 않습니다. 너 좀 정교 할 수있어? – Amy
작성한 코드가 잘못되지 않았습니다. 그것은 2D 배열을 만드는 방법이지만, x, y 좌표를 저장하기 때문에'Point's의 1D 배열을 만들 수 있습니다 (또는 x와 y 값을 저장하기 위해 구조체를 직접 만들면됩니다). C# 속성 및 인덱서에 대해 배울 수 있습니다. –