c# - While Loop 不会一直循环

标签 c# while-loop

对于初学者练习,我正在尝试创建一个简单的循环,它从用户那里接受一个字符,将该字符打印到控制台并一直这样做,直到用户输入“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/

相关文章:

c# - 如何在ServiceBus上通过sequenceNumber使用MessageReceiver.Receive方法

c# - 在 C# 可移植类库 (Microsoft.Net.Http) 中使用代理

python - 如何在条件为真时至少执行一次循环操作

带中断的python嵌套循环

python - 数字输出有时有.0

c# - 在不使用序列化的情况下将字符串数组持久化到流中的可能方法?

c# - 为什么我不能在 EF4 中的多对多实体上重写 GetHashCode?

c# - 如何使用 Windows Azure 将 Web 表单的输入接收到我的控制台应用程序?

javascript - 无法在 do while 循环中结束 Prompt Box 进程

PHP 和 MySql - 数组 foreach