“如何开始”;“字符串块”;C#格式?
我不得不在我的C代码中编写一些查询,并且对格式有疑问。见下文:“如何开始”;“字符串块”;C#格式?,c#,php,formatting,C#,Php,Formatting,我不得不在我的C代码中编写一些查询,并且对格式有疑问。见下文: string sql = "SELECT * "; sql += "FROM HYT_User_Vehicle_Group_Assoc "; sql += "INNER JOIN HYT_Vehicle_Group ON HYT_Vehicle_Group.Vehicle_Group_No = HYT_User_Vehicle_Group_Assoc.Vehicle_Group_No "; 来自PHP背景,
string sql = "SELECT * ";
sql += "FROM HYT_User_Vehicle_Group_Assoc ";
sql += "INNER JOIN HYT_Vehicle_Group ON HYT_Vehicle_Group.Vehicle_Group_No = HYT_User_Vehicle_Group_Assoc.Vehicle_Group_No ";
来自PHP背景,以下是我用PHP编写它的方式:
$sql = "SELECT *
FROM HYT_User_Vehicle_Group_Assoc
INNER JOIN HYT_Vehicle_Group ON HYT_Vehicle_Group.Vehicle_Group_No = HYT_User_Vehicle_Group_Assoc.Vehicle_Group_No";
注意,我不必总是为字符串中的每一行写sql+=
?有没有办法告诉C我要开始一个“字符串块”,这样我就不必总是键入sql+=
?是的-在前导前面加上@来使用a:
请注意,这也删除了反斜杠转义-它真正有用的一个方面是用于正则表达式和Windows文件路径。要在逐字字符串文字中包含双引号,请将其加倍:
string text = "Jon says, ""Verbatim string literals."" And that's all.";
对于特别大的文本代码块,请注意,我可能会将它们放在单独的嵌入式资源中,或者使用ORM,这样我就不需要SQL来访问大多数数据:)
有关字符串、字符串文字(常规和逐字)、转义序列等的更多信息,请参阅my
符号:将按你想要的做。
你可以考虑使用@属性来跨越多行的字符串。参考链接以了解更多用法。
sql = @"SELECT *
FROM HYT_User_Vehicle_Group_Assoc
INNER JOIN HYT_Vehicle_Group ON HYT_Vehicle_Group.Vehicle_Group_No = HYT_User_Vehicle_Group_Assoc.Vehicle_Group_No";
看
逐字字符串文本
@"Here is my
multiline verbatim string"
@
不是一个符号(&
);它是at符号。我认为,符号是&
不是@
无意义@是一个符号,很明显是一个蠕虫。哎呀
sql = @"SELECT *
FROM HYT_User_Vehicle_Group_Assoc
INNER JOIN HYT_Vehicle_Group ON HYT_Vehicle_Group.Vehicle_Group_No = HYT_User_Vehicle_Group_Assoc.Vehicle_Group_No";
@"Here is my
multiline verbatim string"