长参数的字符串格式

时间:2017-06-13 15:04:01

标签: c#

我正在使用string.Format方法构建一个字符串。通常,对于包含许多列的表,我会有非常长的参数列表,例如

string query = string.Format("{0},{1},{2},...,{30}", val1, val2, ...., val30);

C#是否有更简洁的方式来处理这些字符串?

3 个答案:

答案 0 :(得分:1)

您可以使用字符串插值:

$"{val1},{val2},{val3}"

但我必须警告你:不要使用string.Format等来构建SQL语句。 Use parameterized queries!

答案 1 :(得分:0)

不要使用string.format或字符串插值构建查询

有安装参数化查询的内置方法:

string sql = "SELECT name from student where id = @id";

using (SqlConnection connection = new SqlConnection(someConnectionString))
using (SqlCommand command = new SqlCommand(sql, connection))
{
    command.Parameters.Add(new SqlParameter("id", someIdVariable));
    var results = command.ExecuteReader();
}

答案 2 :(得分:-1)

  

我正在使用string.Format方法构建SQL查询。

嗯,那是你的第一个错误。您可能最好使用一个参数化查询。

但是,忽略这一点,你的问题是关于构建字符串。最好的方法是使用StringBuilder对象:

var sql = new StringBuilder();
sql.AppendFormat("{0},{1},{2},", val1, val2, val3);
sql.AppendFormat("{0},{1},{2},", val4, val5, val6);