C# 在两种方法c之间来回传递参数

C# 在两种方法c之间来回传递参数,c#,uwp,parameter-passing,C#,Uwp,Parameter Passing,我有两种方法。 首先,在调用第二个方法时,我从第一个方法传递一个字符串。 在第二种方法中,我进行计算 现在我想把结果传回到第一个方法 我如何做到这一点 我的代码是这样的: private void RegisterButton_Click(object sender, RoutedEventArgs e) { string databaseName = "databaseName"; CheckDatabase(databaseName)

我有两种方法。 首先,在调用第二个方法时,我从第一个方法传递一个字符串。 在第二种方法中,我进行计算

现在我想把结果传回到第一个方法

我如何做到这一点

我的代码是这样的:

    private void RegisterButton_Click(object sender, RoutedEventArgs e)
    {

        string databaseName = "databaseName";
            CheckDatabase(databaseName);
            bool test = bRet;
    }
    private bool CheckDatabase(string databaseName)
    {
        string connString = "Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;database=master";
        string cmdText = "select * from master.dbo.sysdatabases where name=\'" + databaseName + "\'";
        bool bRet = false;
        using (SqlConnection sqlConnection = new SqlConnection(connString))
        {
            sqlConnection.Open();
            using (SqlCommand sqlCmd = new SqlCommand(cmdText, sqlConnection))
            {
                int nRet = sqlCmd.ExecuteNonQuery();
                if (nRet <= 0)
                {
                    bRet = false;
                }
                else
                {
                    bRet = true;
                }
            }
        }            
        return bRet;
    }
private (bool bRet, int nRet) CheckDatabase(string databaseName)
{
    string connString = "Server=localhost\\SQLEXPRESS;Integrated 
    Security=SSPI;database=master";
    string cmdText = "select * from master.dbo.sysdatabases where name=\'" + databaseName + "\'";
    bool bRet;
    int nRet;

    using (SqlConnection sqlConnection = new SqlConnection(connString))
    {
        sqlConnection.Open();
        using (SqlCommand sqlCmd = new SqlCommand(cmdText, sqlConnection))
        {
            nRet = sqlCmd.ExecuteNonQuery();
            bRet = !(nRet <= 0)
        }
    }
    return (bRet, nRet);
}

如何传回bRet???

根据您的其余代码,可能我误解了这个问题,但这应该是可行的:

bool test = CheckDatabase(databaseName);
您必须执行bool test=checkDatabaseName

原因是bRet不存在于CheckDatabase之外,即使它具有相同的名称

此外,如果您还计划返回nRet,则需要使用System.ValueTuples并执行以下操作:

    private void RegisterButton_Click(object sender, RoutedEventArgs e)
    {

        string databaseName = "databaseName";
            CheckDatabase(databaseName);
            bool test = bRet;
    }
    private bool CheckDatabase(string databaseName)
    {
        string connString = "Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;database=master";
        string cmdText = "select * from master.dbo.sysdatabases where name=\'" + databaseName + "\'";
        bool bRet = false;
        using (SqlConnection sqlConnection = new SqlConnection(connString))
        {
            sqlConnection.Open();
            using (SqlCommand sqlCmd = new SqlCommand(cmdText, sqlConnection))
            {
                int nRet = sqlCmd.ExecuteNonQuery();
                if (nRet <= 0)
                {
                    bRet = false;
                }
                else
                {
                    bRet = true;
                }
            }
        }            
        return bRet;
    }
private (bool bRet, int nRet) CheckDatabase(string databaseName)
{
    string connString = "Server=localhost\\SQLEXPRESS;Integrated 
    Security=SSPI;database=master";
    string cmdText = "select * from master.dbo.sysdatabases where name=\'" + databaseName + "\'";
    bool bRet;
    int nRet;

    using (SqlConnection sqlConnection = new SqlConnection(connString))
    {
        sqlConnection.Open();
        using (SqlCommand sqlCmd = new SqlCommand(cmdText, sqlConnection))
        {
            nRet = sqlCmd.ExecuteNonQuery();
            bRet = !(nRet <= 0)
        }
    }
    return (bRet, nRet);
}

bool test=checkDatabaseName;只是布雷特的价值?bool test=checkDatabaseName;。如果您需要多个返回值,您可以将它们包装在一个结构中以返回,例如元组或use。我不知道这就足够了。我想我必须通过bRet考试。你知道,return就是这么做的。你是否将扩展讨论定义为试图帮助他们?我们不是在谈论电影,他对我的答案感到困惑,我试图帮助他。请使用聊天进行来回讨论。然后,应将重要/支持信息编辑到您的答案中。