从一个类调用字符串方法到另一个类

时间:2012-06-04 18:35:02

标签: c# string class

我有基于硬币和纸牌游戏的这项任务非常简单。我们得到了一些完整的和一些不完整的文件。我想要做的是从另一个类(card.cs)中调用一个方法(实际上是一个字符串)(hand.cs)。

这是来自card.cs的字符串方法:

public string ToString(bool shortFormat, bool displaySuit)
    {
        string returnString;

        // Describe the FaceValue.
        FaceValue faceValue = GetFaceValue();
        string faceValueAsString = faceValue.ToString();
        if (shortFormat) {
            if (faceValue <= FaceValue.Ten) {
                faceValueAsString = (faceValue - FaceValue.Two + 2).ToString();
            } else {
                faceValueAsString = faceValueAsString.Substring(0, 1);
            }
        }

        returnString = faceValueAsString;

        // Describe the Suit.
        if (displaySuit) {
            string suit = GetSuit().ToString();
            if (shortFormat) {
                suit = suit.Substring(0, 1);
                returnString += suit;
            } else {
                returnString += " of " + suit;
            }
        }

        return returnString;
    }

并且来自hand.cs(仅限ToString字符串/方法,此文件中还有其他函数用于创建一个手牌(名为卡片的列表)并向其添加卡片。)

/// <summary>
    /// Outputs the hand of cards.
    /// See the ToString method in the Card class for a description of 
    /// the two parameters: shortFormat and displaySuit.
    /// Pre: true
    /// Post: Displayed the hand of cards.
    /// </summary>
    public void DisplayHand(bool shortFormat, bool displaySuit) {

        //
        //**************** CODE NEEDS TO BE ADDED**********************
        // Should be able to call the ToString method in the Card class,
        // as part of this.
        //

    } // end DisplayHand

它们是我为作业获得的未经编辑的文件。我想知道的是如何使用TwoString(shortFormat, displaySuit)中的DisplayHand(shortFormat, displaySuit)。在一个阶段,我有一个单独的列表来放置字符串值,但它已被删除尝试将文件还原为原始文件。我不太确定这将如何在游戏后期使用,但我想如果我可以使用列表运行它,然后将列表更改为字符串或数组或稍后可以很容易地完成的任何事情。一旦我知道如何调用这个字符串,我应该能够修改我必须调用的所有其他字符串和整数的代码。

1 个答案:

答案 0 :(得分:4)

您需要Card来致电ToString。我假设你会这样做:

foreach (Card card in this.Cards) { ... } // Loop through cards in this hand.

如果没有代码,我无法确切地告诉你。

获得Card(在card变量中)后,请拨打ToString,如下所示:

string str = card.ToString(true, true);