2014-11-23 65 views
0

我正在使用控制檯應用程序製作二十一點遊戲,並開始製作我的卡片類,但我不確定如何使用我的值集訪問器來使用數組搜索值以及然後確定值參數是否有效。如何從數組中搜索值

任何幫助,將不勝感激

這是我需要使用

String[] values = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; 

這裏表我的卡類到目前爲止

class Card 
{ 

    public enum SUIT { HEARTS, SPADES, DIAMONDS, CLUBS }; 

    private SUIT _suit; 
    private Int32 _value; 

    public Card(SUIT suit, Int32 value) 
    { 

     Suit = _suit; 
     Value = _value; 
    } 

    public SUIT Suit 
    { 
     get 
     { 
      //Return member variable value 
      return _suit; 
     } 
     set 
     { 

     } 
    } 
    //Public FirstName accessor: Pascal casing 
    public Int32 Value 
    { 
     get 
     { 
      //Return member variable value 
      return _value; 
     } 
     set 
     { 

     } 
    } 
} 
+0

我有一個壞的時間,試圖您已瞭解問題 – 2014-11-23 03:46:45

+0

您可以嘗試使用Array.IndexOf()方法。 Rgds, – 2014-11-23 03:49:27

+0

你的問題是什麼? – 2014-11-23 04:00:27

回答

0

試着改變你的_value變量串一樣。如果你要發送的指標,改變你的屬性的名稱Index

public SUIT Suit 
{ 
    get 
    { 
     //Return member variable value 
     return _suit; 
    } 
    set 
    { 
     _suit = value; 
    } 
} 
//Public FirstName accessor 
public string Value 
{ 
    get 
    { 
     //Return member variable value 
     return _value; 
    } 
    set 
    { 
     _value = value; 
    } 
} 

:此外,你必須使用關鍵字valueset語句。聽起來更容易!然後使用

_value = value; 

作爲Int32。當您希望取回卡,您可以使用:

= values[Index]; 
1

如果我沒有理解這個問題你可以試試:

int index = Array.IndexOf(values, Convert.ToInt32(_value)); 
if(index > 0) 
    _value = value; 
1

如果我理解你的問題,你試圖驗證設置到你的卡的值是否在你的數組中。由於只有13個選項中,他們將永遠不會改變,只是做一個枚舉,你與SUIT

public enum CardValue { 
One, Two ..... Queen, King 
} 

public Card(SUIT suit, CardValue value) 
{ 
    Suit = _suit; 
    Value = _value; 
}