如何避免C#字符串中的双引号转义?
在Ruby中,可以使用字符串,而无需转义字符串中的双引号,例如Q/Some my string with“double quotes”/ 使用C#是否可以在不需要转义双引号的情况下使用字符串? 出于一个很好的原因,我需要编写内联SQL,而且每次我将SQL查询从DB控制台放到C#代码中时,都要避开双引号,这非常烦人如何避免C#字符串中的双引号转义?,c#,c#-4.0,double-quotes,C#,C# 4.0,Double Quotes,在Ruby中,可以使用字符串,而无需转义字符串中的双引号,例如Q/Some my string with“double quotes”/ 使用C#是否可以在不需要转义双引号的情况下使用字符串? 出于一个很好的原因,我需要编写内联SQL,而且每次我将SQL查询从DB控制台放到C#代码中时,都要避开双引号,这非常烦人 我知道可以使用“或”作为一个双引号。但是可以避免转义双引号吗?不,这在C#中是不可能的。您可以在单独的文件中编写SQL,然后从那里读取。基本上不可以。您可以选择“foo”bar或@“f
我知道可以使用“或”作为一个双引号。但是可以避免转义双引号吗?不,这在C#中是不可能的。您可以在单独的文件中编写SQL,然后从那里读取。基本上不可以。您可以选择
“foo”bar
或@“foo”bar
,这两件事你都提到过。但是,坦率地说,我很少发现SQL中需要“
”;对于文字字符串和对象/列名,有[
/]
——当然,这可能只是因为我通常使用SQL Server
唯一不涉及任何转义的替代方法是将SQL移到外部资源文件(可能是文本文件)中。不过,这可能比只使用“
更痛苦
出于一个很好的原因,我需要编写内联SQL,这对我来说非常烦人
每次我将SQL查询从DB控制台放到C时,都要对双引号进行转义#
代码
如果您正在编写一个内联Sql查询,那么如果您通过SqlParameters传递值,就不需要担心引号。这样,您就不会到处看到恼人的双引号,甚至您的查询也不会受到Sql注入的影响。简单地说。不。您可以使用@符号停止“这是一个”+[为代码清晰起见,换行符]”您不希望在一行中使用的长字符串”,但无法避免转义。我使用PostgreSQL,其中CamelCase名称应使用双引号转义。@Zelid是的,我怀疑您可能使用了与我不同的DB引擎(我很少看到此问题)。对不起,我想你必须选择哪个选项最差。我使用Massive作为轻量级DB access库。它总是使用参数转义。当我使用CamelCase名称时,我需要在PostgreSQL的列和表名称中使用双引号。@Zelid噢,在这种情况下,我同意到处都看到双引号会很烦人,我想你没有另一种选择是我使用EF Core,一切都经过了这一过程,我有一个
一次性案例
,在这个案例中更容易使用SQL(例如,我写了一份报告),并且似乎在向项目中添加一个资源、阅读它等方面有点过分了……就是为了这个