c#将变量声明为参数,新手问题 我在一个项目上做了一周的教学,我在做一个复杂的扑克手分析器的项目上,用C语言(没有C++或java)来教。我终于屈服了,发布了我的第一个简单问题
我想我已经以各种方式看到了变量声明(对于我的VB/A经验来说是新的)。这是我想做的大致想法c#将变量声明为参数,新手问题 我在一个项目上做了一周的教学,我在做一个复杂的扑克手分析器的项目上,用C语言(没有C++或java)来教。我终于屈服了,发布了我的第一个简单问题,c#,C#,我想我已经以各种方式看到了变量声明(对于我的VB/A经验来说是新的)。这是我想做的大致想法 public class CompareHandsClass : IComparer<clHiHand> 公共类比较类和类:IComparer 公共类clCardsHeld { 受保护列表_liCards=新列表(); 公共clCardsHeld(列表卡片列表) {u liCards=CardsList; } 公共类clHiHand:clCardsHeld { public c
public class CompareHandsClass : IComparer<clHiHand>
公共类比较类和类:IComparer
公共类clCardsHeld
{
受保护列表_liCards=新列表();
公共clCardsHeld(列表卡片列表)
{u liCards=CardsList;
}
公共类clHiHand:clCardsHeld
{
public clHiHand(列表CardsList):基本(CardsList){}
列表卡;
CompareHandsClass HandComparer=新的CompareHandsClass();
...
如果(_liTempCards.Count>=5
&&比较(clHiHand x=新的clHiHand(_liTempCards),
clHiHand y=新clHiHand(_liFlushCards)))
最后我的问题是HandComparer.Compare。我有两个clCard类型的列表,但我无法将它们发送到.Compare(),因为这需要clHiHand对象。所以我尝试将列表作为参数一次性发送给临时clHiHand类型变量的构造函数。我可以这样做,但我不能吗(除了使用几行声明之外)?感谢所有初学者的帮助(我有点失望,我在所有地方都被这个小东西难住了…)
哦,还有,PS,我希望我没有把这个示例代码中的其他内容弄糟,因为我已经用这些扩展摆脱了上一个工作版本。您可能会丢失
clHiHand x
和clHiHand y
。然后调用看起来像
HandComparer.Compare(new clHiHand(_liTempCards), new clHiHand(_liFlushCards))
你是说你有一个clHiHand比较器,你想用它来比较clCard类型吗?除非你的clCard类型是clHiHand的子类,否则你不能这样做。这就像用字符串比较器来比较整数一样。clCard和clHiHand之间必须有一个关系。你可以将_liTempCards和_LiFlushCards作为K强制转换到clHiHand他建议道。
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(new clHiHand(_liTempCards), new clHiHand(_liFlushCards))