我试图模拟掷骰子,如果骰子落在某个数字上,那么它会做一些事情,如果它落在另一个数字上,它会做其他事情。但是,我在这方面遇到了麻烦。它说 if (hitPoints = 1)
我收到错误:
但是你可以清楚地看到它确实是一个字符串。非常感谢您对此问题的任何帮助,在此先感谢您。
Random r = new Random();
int hit = r.Next(1, 5);
string hitPoints = hit.ToString();
EmbedBuilder builder = new EmbedBuilder();
if (hitPoints = 1)
{
builder.WithTitle("");
}
最佳答案
欢迎堆栈溢出!
我看到您已将 hitpoints
声明并分配为字符串:
string hitPoints = hit.ToString();
但在此之下,您将它(我希望)与一个数字进行比较:
if (hitPoints = 1)
那里有两个问题。首先,这不是比较运算符。其次,文字
1
不是字符串。如果你真的希望
hitPoints
是一个字符串,并且你想将它与 1
进行比较,那么试试这个:if (hitPoints == "1")
旁注:请允许我建议您不要将
hitPoints
存储为字符串,只是为了将其作为一个输出。您始终可以对现有的 .ToString()
变量调用 hit
:int hit = r.Next(1, 5);
if (hit == 1) {
// do a thing
}
// using newer string interpolation, implicit hit.ToString()
Console.WriteLine($"Hit was {hit}");
// using old format, implicit hit.ToString()
Console.WriteLine("Hit was {0}", hit);
// using old format, explicit hit.ToString()
Console.WriteLine("Hit was {0}", hit.ToString());