在类中创建一个公共数组

时间:2014-11-13 21:17:13

标签: c# arrays

所以我有一个叫做board的类数组。

有一些子类如Bishop和Knight以及Rook等......

数组如下所示:

Piece[,] board = new Piece[8,8]; 
board[0,0] = new Bishop(constructor stuff);
board[0,1] = new Rook(constructor stuff);

等...

每当我初始化Bishop / Knight / Rook的新实例时,我希望它拥有它自己的阵列,所以我可以做 以下内容:

board[0,0].array[0] = ect...

我该怎么做?

3 个答案:

答案 0 :(得分:0)

您的Piece类需要为其中定义的数组提供字段或属性。

public abstract class Piece
{
    public Something[] array = new Something[ARRAY_SIZE];      
    ...
}

请考虑这是否真的是一个好的设计。

答案 1 :(得分:-1)

将数组添加到Piece类。所有子类都可以访问它。

class Piece
{
   public int[] array = new int[100]; // or whatever

   // rest of class definition
}

答案 2 :(得分:-1)

将一个变量添加到名为array的类中,这是一个数组吗?

实施例

public class Bishop : Piece
{
    // ...
    public T[] array;

    public Bishop()
        : base()
    {
        // Initialize array
    }
}

其中T是数组的类型。

如果数组类型可能不同,您可以使类通用。

public class Bishop<T> : Piece

然后将其初始化为:

board[0,0] = new Bishop<int>(); // array is int[]

我建议你真正学习语言的基础知识。