【问题标题】:If statement to check if variable landed on 2 numbers out of 10 [closed]If语句检查变量是否落在10个数字中的2个[关闭]
【发布时间】:2016-06-13 09:13:35
【问题描述】:

我尝试了此代码,但出现错误。有什么替代方法?

int chance = rand.Next(1, 11);

if (chance == 1 || 10)
{
    string win = "lose";
}

这是在 C# 中

【问题讨论】:

  • if (chance == 1 || chance == 10)
  • 你的意思是如果 (chance > 10) 那么输?
  • 我想说别的 string win = "win";但显然我不能那样做。我应该怎么做?
  • @Asubaba 在下面看到我的回答。
  • @HariPrasad English 有;)

标签: c# if-statement random int


【解决方案1】:

OR (||) 运算符的两个操作数必须是布尔类型。因此,您不能简单地使用chance == 1 || 10,因为右侧的操作数是int 类型。所以你必须走很长的路:)

int chance = rand.Next(1, 11);
string win = "lose";

if (chance == 1 || chance == 10)
{
    win = "lose";
}
else
{
    win = "win";
}

我修改了您的代码以在 if-else 块之外声明变量 win。这样做将允许您稍后在需要时访问它。 (我很确定你会需要它)

【讨论】:

  • win 的声明应该在if 块之外,否则您将无法在if 块范围之外访问它。
  • @Steve 正确,只是复制了 OP 的代码:P
  • @Asubaba 您可以考虑接受这个答案并点赞。它将帮助未来的读者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
  • 2020-12-10
  • 2017-03-09
  • 2018-03-16
  • 2017-05-09
  • 2022-11-17
相关资源
最近更新 更多