Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免C#字符串中的双引号转义?_C#_C# 4.0_Double Quotes - Fatal编程技术网

如何避免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

在Ruby中,可以使用字符串,而无需转义字符串中的双引号,例如Q/Some my string with“double quotes”/

使用C#是否可以在不需要转义双引号的情况下使用字符串? 出于一个很好的原因,我需要编写内联SQL,而且每次我将SQL查询从DB控制台放到C#代码中时,都要避开双引号,这非常烦人


我知道可以使用“或”作为一个双引号。但是可以避免转义双引号吗?

不,这在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(例如,我写了一份报告),并且似乎在向项目中添加一个资源、阅读它等方面有点过分了……就是为了这个