方法变量错误。原因不明

时间:2013-03-25 23:46:40

标签: c# sql-server variables methods scope

以下获取数据库名称和密码的方法都很好。

public static string getdbname(out string dbname)
{
    Console.WriteLine("Enter the database name.\n");
    string dbasename = Console.ReadLine();
    Console.WriteLine();
    dbname = dbasename;
    return dbname; 
}

public static string getdbpass(out string dbpass)
{
    Console.WriteLine("Enter the database password.\n");
    string dbasepass = Console.ReadLine();
    Console.WriteLine();
    dbpass = dbasepass;
    return dbpass;
}

访问变量时,我收到来自getdbpass()的invalid expression term string和来自getdbname的expected }的错误。

/**
 * Create string for an SQL Connection
 **/
public static string connTest()
{
    // Call in the out variables
    string name, pass;
    getdbname(out dbname);
    getdbpass(out dbpass);
    ...
    ...

我希望这可以帮助你弄清楚出了什么问题,因为我已经尝试了几个方面,从重命名变量到重定位变量。没有人工作过。

1 个答案:

答案 0 :(得分:4)

string dbname;
string dbpass;

getdbname(out dbname);
getdbpass(out dbpass);

您的方法都返回使用out传回相同的值。你可能想重新考虑一下。

我希望只声明返回值:

public static string getdbname() { ... }

并呼叫:

string dbname = getdbname();

尽量避免使用out返回方法中的值。