在中的用法物业

机床2021年09月06日

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
友情链接