【发布时间】:2017-06-08 15:28:48
【问题描述】:
我正在使用 Microsoft Visual C#:
Console.Write((char)((int)sentence[i] + random.Next(2) == 0 ? 1 : -1));
我正在尝试 Console.Write 我在当前的 sentence[i] 索引中的字符,但随机获取它上面或下面的字符。 但是,相反,我总是得到字符“?”。 为什么?
【问题讨论】:
-
您缺少括号。您的代码正在执行
if sentence[i] + rnd == 0而不是sentence[i] + if (rnd) {} ...。将代码更改为:Console.Write((char)((int)sentence[i] + (random.Next(2) == 0 ? 1 : -1))); -
哦,当然!谢谢伙计,这很有意义。