固定大小的数组

时间:2014-11-25 18:51:39

标签: c# .net arrays

我正在使用C#和.NET Framework 4.5.1开发WPF游戏。

我有这堂课:

public class Player
{
    public Card[4] Hand { get; set; }
}

我需要设置Player.Hand只能包含四张牌(Card是一个代表牌的牌。)

我该怎么办?上面的代码显示了异常"matrix size cannot be specified in variable declaration"。如果我使用List<Card>(),我可以设置最大尺寸。

2 个答案:

答案 0 :(得分:3)

数组的大小不是类型的一部分。

您需要使用该尺寸创建

public Card[] Hand {get; set;}

public MyClass()
{
    Hand = new Card[4];
}

您还可以使用完整属性并将数组初始化为该大小。

private Card[] hand = new Card[4];
public Card[] Hand
{
    get { return hand; }
    //Set if you want!
}

答案 1 :(得分:1)

在属性声明中,您应仅指定属性类型,而不指定数据。可以在创建数组时指定数组大小。

public class Player
{
   public void Initialize()
   {
       // An example of initialization logic
       Hand = new Card[4];
       for (int i = 0; i < Hand.Length; i++)
           Hand[i] = new Card();
   }

   public Card[] Hand { get; set; } 
}

public class Card
{
}