作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于初学者练习,我正在尝试创建一个简单的循环,它从用户那里接受一个字符,将该字符打印到控制台并一直这样做,直到用户输入“R”。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SimpleLoop
{
class Program
{
static void Main(string[] args)
{
char cplayerSelection = 'R';
while(cplayerSelection == 'R')
{
Console.WriteLine("Enter R, P, or S:");
cplayerSelection = (char)Console.Read();
Console.WriteLine(cplayerSelection);
}
}
}
}
无论用户输入什么,它只会循环一次结束然后退出。我需要更改什么才能继续循环?
最佳答案
我认为应该是
while(cplayerSelection != 'R' || cplayerSelection != 'r')
您必须同时检查大写字母和小写字母,因为它们的值不同。
编辑:同时将 cplayerSelection 声明更改为其他一些字母,以便第一次真正执行循环。
也替换这一行
cplayerSelection = (char)Console.Read();
与
cplayerSelection = Console.ReadKey().KeyChar;
阅读 Habib 对此答案的评论以了解原因。
关于c# - While Loop 不会一直循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21738927/
我是一名优秀的程序员,十分优秀!