2014-11-23 68 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; 
}