gpt4 book ai didi

c# - 调用 LINQ First() 方法时出现 InvalidArgument 错误

转载 作者:行者123 更新时间:2023-11-30 13:50:40 29 4
gpt4 key购买 nike

所以我的问题是我在这部分代码中收到无效参数错误。它的目的是拿一手牌并计算出它们的总值(value)。然后,如果该值大于 21,它会检查手中的任何一张牌是否是 ace(或者类型是 == ace 并且它是 card totalVal == 11)现在我的问题是我为此编写的语句无论手中是否有 A 都会运行并抛出错误。

我想知道是否有任何其他方法可以编写下面的语句以使其正确运行?

        public int HandTotal()
{

int total = CurrentCards.Sum(n => n.Total);
**while ( total > 21 && CurrentCards.First(n => n.Type == 13 && n.Total == 11) !=null)**
{
CurrentCards.First(n => n.Type == 13).Total = 1;
total = CurrentCards.Sum(n => n.Total);
return total;
}
return total;
}

我已经尝试了几种不同的方法,包括将 != null 更改为 > 0,但这会引发无效参数错误,指出 > 不能与此语句一起使用。有没有其他方法可以确定 CurrentCards.First(n => n.Type == 13 && n.Total == 11) 是真还是假?

非常感谢任何帮助或建议。

谢谢

最佳答案

而不是 First , 使用 Any与谓词。

while(total > 21 && CurrentCards.Any(n => n.Type == 13 && n.Total == 11))

关于c# - 调用 LINQ First() 方法时出现 InvalidArgument 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5772380/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com