请关闭以避免任何其他不必要的下注
我很震惊,我无法在SO上找到这个,所以我想我的问题是可以接受的......
最初,我想从一个方法将多个变量传递给Main,但它只允许一个返回类型,所以我将方法拆分为两个方法,返回两个数据类型但我想将它们发送到Main所以我可以在方法中分配后显示它们......
CODE
static void Main(string[] args)
{
GetID();
Console.WriteLine("Your id is {0} and your password is {1}");
}
public static int GetID()
{
Console.WriteLine("Please enter your ID");
int id = int.Parse(Console.ReadLine());
Console.WriteLine("You entered {0} as the id \t, is this correct? Y/N", id);
string response = Console.ReadLine();
switch (response)
{
case "N":
GetID();
break;
case "Y":
Console.WriteLine("Accepted");
GetPass(ref id);
break;
default:
Console.WriteLine("Incorrect answer");
break;
}
return id;
}
public static string GetPass(ref int id)
{
Console.WriteLine("Please enter your password");
string password = Console.ReadLine();
Console.WriteLine("You entered {0} as the id \t, is this correct? Y/N", password);
string response = Console.ReadLine();
switch (response)
{
case "N":
GetPass(ref id);
break;
case "Y":
Console.WriteLine("Accepted");
break;
default:
Console.WriteLine("Incorrect answer");
break;
}
return password;
}
经过长时间的中断后我回到了C#,这个简单的问题让我很生气,所以我为这个问题的低质量能力道歉
答案 0 :(得分:2)
在打印到控制台之前,您可以使用变量在main中分配返回类型吗?
static void Main(string[] args)
{
var id = GetID();
var password = GetPass(ref id);
Console.WriteLine("Your id is {0} and your password is {1}", id, password);
}
答案 1 :(得分:1)
不要在单独的调用中返回多个值,而是考虑创建包含多个值的对象类型,并返回该对象类型的实例。
答案 2 :(得分:1)
您可以使用out
参数从方法调用中返回多个值:
例如:
public void MyMethod(out string first, out string second)
{
first = "some";
second = "thing";
}
你可以打电话如下:
string f;
string s;
MyMethod(out f, out s);
答案 3 :(得分:0)
你必须在下面的代码中进行更改才能生效。
True