public static void Introduction{
Console.WriteLine("Welcome");
string MyName = "";
Console.Write("What's your name ? : ");
MyName = Console.ReadLine();
Console.WriteLine("Hey {0},welcome to the quiz! ", MyName);
Console.ReadLine();
}
//Quiz introduction
public static void FstQuestion(){
//code
if(...)
{
Console.WriteLine(" That's correct,{0} ! ",MyName);
}
else
Console.WriteLine(" Keep trying,{0} ",MyName);
}
所以我想在c#中进行测验,但是,我希望问题有不同的方法。正如你所看到的,我想用一个用户的名字保存一个变量,并在需要的时候使用它。问题是我不知道如何从另一种方法调用/使用字符串。任何提示都有帮助!谢谢!
答案 0 :(得分:1)
有很多方法可以解决这个问题。根据您的示例技术,您将编程程序。 (这是一个好的开始)
您可以从第一种方法返回名称并将其传递给另一种方法。
所以我们从容易开始:
public static void Main()
{
Console.WriteLine("Welcome");
// ask for the name and assign the return value to the local variable `myName`
string myName = AskName();
Console.WriteLine("Hey {0},welcome to the quiz! ", myName);
// enter the first question, pass the variable `myName` as parameter.
FstQuestion(myName);
}
public static string AskName() // <- notice the return type `string` instead of `void`
{
Console.Write("What's your name ? : ");
string myName = Console.ReadLine();
// this will return the value of `myName` to the caller.
return myName;
}
//Quiz introduction
public static void FstQuestion(string myName) // <-- notice the parameter
{
//code
if(...)
{
Console.WriteLine(" That's correct,{0} ! ",myName);
}
else
Console.WriteLine(" Keep trying,{0} ",myName);
}
下一课:课程和字段
答案 1 :(得分:0)
请查看“Variable types and scopes”
我建议您在编程之前阅读C#教程。这将帮助你掌握基本的东西..
答案 2 :(得分:0)
您的问题可以通过以下方式解决(其中一些可能在乍看之下显得讽刺):
答案 3 :(得分:0)
将MyName
提取为静态字段(在您当前的代码MyName
中是本地变量,这就是为什么超越FstQuestion()
)中的范围:
private static string MyName = "";
...
public static void Introduction{
Console.WriteLine("Welcome");
Console.Write("What's your name ? : ");
MyName = Console.ReadLine();
Console.WriteLine("Hey {0},welcome to the quiz! ", MyName);
Console.ReadLine();
}
...
public static void FstQuestion() {
//code
if (...) {
Console.WriteLine(" That's correct,{0} ! ",MyName);
}
else
Console.WriteLine(" Keep trying,{0} ",MyName);
...
答案 4 :(得分:0)
在您的Program.cs中,您将拥有:
public class Program{
public static void main(){
/*...*/
}
}
您想要在您的班级中添加一个实例变量,以便在您的班级实例存在的时间内,您可以从班级内部(或从班级外部访问),但我等待那个)所以:
public class Program{
private static string MyName;
public static void main(){
/*...*/
MyName = Console.ReadLine()
}
public static void FstQuestion(){
//code
if(...)
{
Console.WriteLine(" That's correct,{0} ! ", MyName);
}
else
{
Console.WriteLine(" Keep trying,{0} ", MyName);
}
}