C#“是'类型'但是像变量一样使用”

时间:2017-05-03 01:09:06

标签: c# arrays visual-studio variables

我正在寻找以下错误的帮助:

  

'Practical_2.Card'是'type',但用作'变量'

这是我的代码:

class Tester
{
    static void Main(string[] args)
    {
        Card[] hand = {
                          new Card("Spade", 3),
                          new Card("Club", 10),
                          new Card("Diamond", 11),
                          new Card("Heart", 9),
                          new Card("Diamond", 13),
                      };
        ProcessHand(hand);

    }//end of static void main

    static void ProcessHand(Card[] cards)
    {
        Console.WriteLine("{0,-10:s}: {1,-10:i}", "suit: ", Card[0]);

    }//end of static void processhand
}//end of class Tester
class Card
{
    public string suit { get; set; }
    public int facevalue { get; set; }
    public Card (string su, int fa) 
    {
        suit = su;
        facevalue = fa;

    }
    public void DisplayCard()
    {
        Console.WriteLine(suit, facevalue);

    }
}//end of class Card

我在这一行收到错误:Console.WriteLine("{0,-10:s}: {1,-10:i}", "suit: ", Card[0]);

帮助我非常感激。 干杯

3 个答案:

答案 0 :(得分:5)

Card[0]应为cards[0] - Card是一种类型,正如编译器告诉您的那样,您的数组名为cards

答案 1 :(得分:1)

你想要这个:

        Console.WriteLine("{0,-10:s}: {1,-10:i}", "suit: ", cards[0]);

Card是一个类型(一个类),其中cards是你的变量,一个数组开始传入函数。

答案 2 :(得分:-1)

正如普雷斯顿和sovemp所提到的那样,你的错误是因为一个错字,而这是因为C#是区分大小写的。

如果你想了解更多,请从另一个stackoverflow问题Why is C# Case Sensitive?

中查看这个很棒的答案