c#将变量声明为参数,新手问题

时间:2011-02-15 05:38:48

标签: c#

在一个制作精心设计的扑克手分析器的项目中,我已经工作了一周,自学C#(没有C ++或Java)。我终于开始尝试并发布我的第一个简单问题了。

我认为我已经以各种方式看到了变量声明(我的VB / A体验的新内容)。这是我想做的一般概念。

public class CompareHandsClass : IComparer<clHiHand>

...

public class clCardsHeld
{   
    protected List<clCard> _liCards = new List<clCard>();

    public clCardsHeld(List<clCard> CardsList)
    {   _liCards = CardsList;
    }

...

public class clHiHand : clCardsHeld
{
    public clHiHand(List<clCard> CardsList) : base(CardsList) {}

    List<clCard> _liTempCards;
    CompareHandsClass HandComparer = new CompareHandsClass(); 
    ...
    if (_liTempCards.Count >= 5 
    && HandComparer.Compare(clHiHand x = new clHiHand(_liTempCards), 
                            clHiHand y = new clHiHand(_liFlushCards))) 

所以我的问题最后是HandComparer.Compare。我有两个我的clCard类型的列表,但我不能将它们发送到.Compare(),因为它带有clHiHand对象。所以我试图将列表作为参数发送给临时clHiHand类型变量的构造函数。我能以某种方式做到这一点不能(除了使用几行声明)?感谢任何初学者的帮助(我有点失望,我对所有地方的这个小东西感到难过......)

哦,PS,我希望我没有弄乱这个示例代码中的任何其他内容,因为我已经离开了上一个使用这些扩展的工作版本。

1 个答案:

答案 0 :(得分:0)

您可能会丢失clHiHand xclHiHand y。然后呼叫看起来像

HandComparer.Compare(new clHiHand(_liTempCards), new clHiHand(_liFlushCards))