C# 检查变量是否落在10个数中的2个数上的If语句

C# 检查变量是否落在10个数中的2个数上的If语句,c#,if-statement,random,int,C#,If Statement,Random,Int,我尝试了这个代码,但是我得到了一个错误。什么是替代方案 int chance = rand.Next(1, 11); if (chance == 1 || 10) { string win = "lose"; } 在C#中,OR(|)运算符的两个操作数都必须是布尔类型。因此,您不能简单地使用chance==1 | | 10,因为右侧的操作数类型为int。所以你必须走很长的路:) 我修改了代码,将变量win声明在if-else块之外。这样做将允许您在以后需要时访问它。(我很确定你会需要

我尝试了这个代码,但是我得到了一个错误。什么是替代方案

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

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

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


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

如果(机会==1 | |机会==10)
你的意思是如果(机会>10)然后失败吗?我想说的是其他字符串win=“win”;但显然我不能这么做。我应该怎么做呢?@Asubaba看到我下面的答案。@HariPrasad English做;)
win
的声明应该在
if
块之外,否则您将无法在
if
块范围之外访问它。@Steve更正,刚刚复制了OP的代码:P@Asubaba你可以考虑接受这个答案并投票。它将帮助未来的读者。
int chance = rand.Next(1, 11);
string win = "lose";

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