在中的用法物业
1。 C# 中 字符串常量可以以 @ 开头声名,这样的优点是转义序列“不”被处理,按“原样”输出,
即我们不需要对转义字符加上 \\ (反斜扛),就可以轻松coding。如
string filePath = @\"c:\\Docs\\Source\\t\"; // rather than \"c:\\\\Docs\\\\Source\\\\t\"
2。如要在一个用 @ 引起来的字符串中包括一个双引号,就需要使用两对双引号了。
这时候你不能使用 \\ 来转义爽引号了,因为在这里 \\ 的转义用途已经被 @ “屏蔽”掉了。如
@\"\"\"Ahoy!\"\" cried the captain.\"; // 输出为: \"Ahoy!\" cried the captain.
有点像SQL中的单引号常量处理方式:
DECLARE @msg varchar(100)
SET @msg = \'\'Ahoy!\'\' cried the captain.\' -- 输出为: \'Ahoy!\' cried the captain.3。@ 会识别换行符
其实这个特性,我不知道怎么描述,只是偶然发现的,先看下面的代码吧:
string script = @\"
script type=\"\"type/javascript\"\"
function doSomething()
{
}
/script\";
在cs文件中写js,结构就很清晰了,正常情况我们是这样coding的:
string script2 = \"script type=\\\"type/javascript\\\"function doSomething(){}/script\";
// or
string script3 =
\"script type=\\\"type/javascript\\\"\" +
\"function doSomething(){ \" +
\"}/script\";
通常我们会选择后者,因为js代码一般比较长,或者方法体很大,或者需要连接其他变量,这样结构比较清晰。
注意:如果“拼接”的次数很多,应该考虑使用StringBuilder了,有助于提高性能。
还有一种场景,也很常见,在程序中拼接 SQL 语句,如
private const string SQL_INS_USER = @\"
INSERT INTO t_User([UserName], [Password], Email)
VALUES(@UserName, @Password, @Email)\";
然而,我们需要关注一个问题:字符串长度
看下面的测试代码:
private const string SQL_INS_USER1 = @\"
INSERT INTO t_User([UserName], [Password], Email)
VALUES(@UserName, @Password, @Email)\";
private const string SQL_INS_USER2 = @\"INSERT INTO t_User([UserName], [Password], Email)
VALUES(@UserName, @Password, @Email)\";
private const string SQL_INS_USER3 = @\"INSERT INTO t_User([UserName], [Password], Email)
VALUES(@UserName, @Password, @Email)\";
static void Main(string[] args)
{
iteLine(SQL_INS_ngth); // 126
iteLine(SQL_INS_ngth); // 112
iteLine(SQL_INS_ngth); // 86
根本不想知道这个无聊之人! 我们既不要去伤害人家 }
可以看到三个字符串长度分别相差了,14=和26=,在代码器中,SQL_INS_USER1
中第一个换行符号之后,缩进13个空格(INSERT之前),而
SQL_INS_USER2 中第一个换行符号之后,缩进25个空格(VALUES之前),
那么,加上一个换行符,刚刚好 14和26
如此编写代码,虽然提高了代码的清晰度和简便性,却无行中带来了另一个问题:字符长度!
很多场景下我们希望字符串越短越好,如,通过 发送 SQL 语句给数据库执行。
所以还是慎用之!
Trackback:
昆明治疗白癜风医院费用南昌包皮过长治疗多少钱
送老师复方草珊瑚含片
- 上一页:在中调用中的函数
- 下一页:在体系中设置工作站与服务器的时钟同步计划
-
新增5个准入地!2022年法考准入条件地方名单汇总
有更加多乒乓私信追问合合杆菌,关于2022法考调高前提条件地四区有哪些的...
2024-12-16
-
高中学历,应该从什么简而言之提升自己的学历?
1.如果你年龄还小,高三、高中时教书,或者几天后初中部时毕业考虑要不让...
2024-11-02
-
苏州大学和河海大学,谁的统治力更更胜一筹?
相信大家在前不久的报考里,也是绞尽脑汁,反复相对所选全国高校里哪所全...
2024-10-29
-
佣金高、配送慢……商家不愿再入驻外卖平台有苦衷
原曲名:微市的平台抽出高额酬劳,鲜腐每一次能够保质保值 一些百货美国...
2024-10-21
-
科英布拉该大学历史知多少 | 葡萄牙高校通
今年,波尔图医大学半世纪了它732岁的初次见面。这所医大学是巴西近代最上...
2024-10-12
-
vivo S15 Pro影像体验,配置高级拍照更巧妙
近年来,vivo打造的vivo S三部凭借着低颜值和亮眼的相片战力,受到了不少年...
2024-09-16