C# 检查方法是否第一次运行。C
我目前正在尝试学习C语言,我来自另一种语言,所以到目前为止,学习C语言是一件轻而易举的事。然而,我正在创建一个控制台应用程序,用户在其中输入用户名和密码,然后登录。当他们登录时,我只是简单地询问他们想要什么,然后他们输入他们的请求。现在的问题是,每当他们传递if/else if/else语句时,我都会将它们移动到一个新的方法,该方法用Hello,welcome,Please输入一个请求来迎接他们。在他们输入请求后,我希望控制台只说“请输入请求”。因此,我想检查该方法是否第一次运行。关于如何做的任何想法 我想这应该可以C# 检查方法是否第一次运行。C,c#,methods,C#,Methods,我目前正在尝试学习C语言,我来自另一种语言,所以到目前为止,学习C语言是一件轻而易举的事。然而,我正在创建一个控制台应用程序,用户在其中输入用户名和密码,然后登录。当他们登录时,我只是简单地询问他们想要什么,然后他们输入他们的请求。现在的问题是,每当他们传递if/else if/else语句时,我都会将它们移动到一个新的方法,该方法用Hello,welcome,Please输入一个请求来迎接他们。在他们输入请求后,我希望控制台只说“请输入请求”。因此,我想检查该方法是否第一次运行。关于如何做的任
using System;
namespace ConsoleApplication1
{
class Program
{
static bool hasRun = false;
static void Main(string[] args)
{
GreetUser();// first call
GreetUser();// second call
}
private static void GreetUser()
{
var message = "Hello, welcome. Please enter a request: ";
// could be refactored to
if (hasRun)
{
message = "Please enter a request: ";
}
Console.WriteLine(message);
var requestText = Console.ReadLine();
hasRun = true;
}
}
}
第一次呼叫GreetUser将是:
你好,欢迎。请输入请求:
对GreetUser的第二次和后续呼叫将是:
请输入请求:
编辑:
哦,有一件事我忘记了,你可以使用三元运算符进一步重构消息:
private static void GreetUser()
{
var message = (!hasRun ? "Hello, welcome. " : string.Empty) + "Please enter a request: ";
Console.WriteLine(message);
var requestText = Console.ReadLine();
hasRun = true;
}
将4行代码转换为1您应该做的第一件事是向我们展示您的代码!有一百万种方法可以满足您的需求,因此查看您的代码可以让我们知道哪种方法最适合您。