2017-09-09 223 views
-3

的陣列我有一個枚舉類「圖」和董事會:設置空值枚舉C#

public enum Figure { X, O } 

private Figure[,] board = new Figure[boardSize, boardSize]; 

當有在船上沒有價值,我想加空值登機。 例如: board[0,0] = null - 但它是錯誤的。 我該怎麼做?

+0

請閱讀[問]。 「這是錯誤的」不是一個適當的問題描述。如果您研究實際的編譯器錯誤,_「不能將null轉換爲enum,因爲它是一個值類型_」,您會發現很多結果。 – CodeCaster

回答

4

枚舉值類型,所以null是不是他們的有效值。

這裏有兩種解決方案,這一問題:

  1. 添加一個新的枚舉值:

    public enum Figure { Empty, X, O } 
    

您現在可以使用Figure.Empty而不是null

  • 使用一個空類型:

    private Figure?[,] board = new Figure[boardSize, boardSize]; 
    
  • Figure後的小?允許您使用null