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就是这么做的。你是否将扩展讨论定义为试图帮助他们?我们不是在谈论电影,他对我的答案感到困惑,我试图帮助他。请使用聊天进行来回讨论。然后,应将重要/支持信息编辑到您的答案中。