C# 固定大小数组

C# 固定大小数组,c#,.net,arrays,C#,.net,Arrays,我正在用C#和.NETFramework 4.5.1开发一个WPF游戏 我有这门课: public class Player { public Card[4] Hand { get; set; } } 我需要设置Player.Hand只能包含四张牌(Card是表示一张牌的类) 我怎么做?上述代码显示异常情况“无法在变量声明中指定矩阵大小”。如果我使用List(),我可以设置最大大小。在属性声明中,您应该只指定属性类型,而不指定数据。数组大小可以在创建数组时指定 public class

我正在用C#和.NETFramework 4.5.1开发一个WPF游戏

我有这门课:

public class Player
{
    public Card[4] Hand { get; set; }
}
我需要设置
Player.Hand
只能包含四张牌(
Card
是表示一张牌的类)


我怎么做?上述代码显示异常情况
“无法在变量声明中指定矩阵大小”
。如果我使用
List()
,我可以设置最大大小。

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

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
{
}
公共类播放器
{
公共无效初始化()
{
//初始化逻辑的一个例子
手牌=新卡[4];
for(int i=0;i
数组的大小不是其类型的一部分

您需要以该大小创建它:

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!
}

虽然这里的错误非常明显,但发布实际错误比“它不起作用”更可取。只是一些关于未来问题的建议。