c#-While循环编码理论,制作登录和注册系统
我已经根据while循环可以在系统中的任何地方工作的理论编写了一个系统。因此,一旦循环通过,它就可以运行。以下是我的代码的简单版本:c#-While循环编码理论,制作登录和注册系统,c#,while-loop,C#,While Loop,我已经根据while循环可以在系统中的任何地方工作的理论编写了一个系统。因此,一旦循环通过,它就可以运行。以下是我的代码的简单版本: using System; namespace test___login { class Program { static void Main(string[] args) { string location = "homepage"; while (location
using System;
namespace test___login
{
class Program
{
static void Main(string[] args)
{
string location = "homepage";
while (location.Equals("Homepage", StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("homepage");
Console.WriteLine("WHere to now: ");
location = Console.ReadLine();
}
while (location.Equals("login", StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("login");
Console.WriteLine("Where to now: ");
location = Console.ReadLine();
}
}
}
}
所以我假设,一旦变量在第二个while循环中从“login”变为“homepage”,就意味着第一个while循环将再次运行。是我关于代码如何工作的理论错了,还是我输入的东西不正确。我上星期才开始,很抱歉这个基本问题与您当前的代码结构不符。它将退出应用程序。您需要用一个与其他循环类似的
while
循环来包围所有这些。见下文:
using System;
namespace test___login {
class Program
{
static void Main(string[] args)
{
string location = "homepage";
while (!location.ToUpper().Equals("EXIT"))
{
while (location.Equals("Homepage", StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("homepage");
Console.WriteLine("WHere to now: ");
location = Console.ReadLine();
}
while (location.Equals("login", StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("login");
Console.WriteLine("Where to now: ");
location = Console.ReadLine();
}
}
}
}
}
与您当前构建代码的方式不同。它将退出应用程序。您需要用一个与其他循环类似的
while
循环来包围所有这些。见下文:
using System;
namespace test___login {
class Program
{
static void Main(string[] args)
{
string location = "homepage";
while (!location.ToUpper().Equals("EXIT"))
{
while (location.Equals("Homepage", StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("homepage");
Console.WriteLine("WHere to now: ");
location = Console.ReadLine();
}
while (location.Equals("login", StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("login");
Console.WriteLine("Where to now: ");
location = Console.ReadLine();
}
}
}
}
}
它不会再次运行,因为代码已经执行过那一行,所以除非您再次调用它,否则下一行将执行,在您的情况下,什么都不会执行-这称为过程编程 为什么不做一个while循环,改为一个switch语句呢
bool run = true;
while (run)
{
Console.WriteLine("WHere to now: ");
string location = Console.ReadLine();
switch(location.ToLower()){
case "homepage":
Console.WriteLine("HomePage");
break;
default:
run = false;
break;
}
}
它不会再次运行,因为代码已经执行过那一行,所以除非您再次调用它,否则下一行将执行,在您的情况下,什么都不会执行-这称为过程编程 为什么不做一个while循环,改为一个switch语句呢
bool run = true;
while (run)
{
Console.WriteLine("WHere to now: ");
string location = Console.ReadLine();
switch(location.ToLower()){
case "homepage":
Console.WriteLine("HomePage");
break;
default:
run = false;
break;
}
}
不,你理解错了。循环完成后不会重复,除非以某种方式再次调用它。实际上,您只需要一个循环就可以使用
ReadLine()
内部和if/switch
重复提问,并根据输入的值进行选择。您的代码从上到下读取,一旦第一个while
语句等于false
它将转到第二个while
。因此,第一个while
将执行,直到不再满足条件,然后可以为第二个发送相同的不,您理解错了。循环完成后不会重复,除非以某种方式再次调用它。实际上,您只需要一个循环就可以使用ReadLine()
内部和if/switch
重复提问,并根据输入的值进行选择。您的代码从上到下读取,一旦第一个while
语句等于false
它将转到第二个while
。因此,第一个while
将执行,直到不再满足条件,然后可以为第二个发送相同的