Вы можете использовать C# класс Tuple для возврата нескольких значений из функции
public Tuple<string,string> stAnswer(int idFirst, int idSecond)
{
try
{
sqlConnection = new SqlConnection(stConexion);
sqlConnection.Open();
sqlCommand = new SqlCommand("spConsultarPreguntas", sqlConnection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add(new SqlParameter("@Id_First", idFirst));
sqlCommand.Parameters.Add(new SqlParameter("@Id_Second", idSecond));
sqlParameter = new SqlParameter();
sqlParameter.ParameterName = "@First_A";
sqlParameter.SqlDbType = SqlDbType.VarChar;
sqlParameter.Size = 50;
sqlParameter.Direction = ParameterDirection.Output;
sqlParameter1 = new SqlParameter();
sqlParameter1.ParameterName = "@Second_A";
sqlParameter1.SqlDbType = SqlDbType.VarChar;
sqlParameter1.Size = 50;
sqlParameter1.Direction = ParameterDirection.Output;
sqlCommand.Parameters.Add(sqlParameter);
sqlCommand.Parameters.Add(sqlParameter1);
sqlCommand.ExecuteNonQuery();
return Tuple.Create(sqlParameter.Value.ToString(),sqlParameter1.Value.ToString());
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlConnection.Close();
}
}
, вы можете вызывать его как обычную функцию
var tpl=stAnswer(idFirst,idSecond);
и получать значения в порядок, который вы вернули из кортежа var str1 = tpl.Item1; var str2 = tpl.Item2;
, но более лучшим подходом будет использование именованного кортежа, который был добавлен в C# 7
public(string perameter1,string parameter2)stAnswer(int idFirst, int idSecond)
{
parameter1=sqlParameter.Value.ToString();
parameter2=sqlParameter1.Value.ToString();
return(parameter1,parameter2);
}
, а затем получение значений из кортежа по переменной имена, подобные этому
var tuple=stAnswer(idFirst,idSecond);
var val1=tuple.parameter1;
var val2=tuple.parameter2;