当前位置:  开发笔记 > 编程语言 > 正文

在C#源代码中打破长字符串的最佳方法

如何解决《在C#源代码中打破长字符串的最佳方法》经验,为你挑选了3个好方法。

我想知道在C#源代码中打破长字符串的"最佳实践"是什么.这是字符串

"string1"+
"string2"+
"string3"

在编译期间还是在运行时连接?



1> Jon Skeet..:

它是在编译时完成的.这完全等同于"string1string2string3".

假设你有:

string x = "string1string2string3"
string y = "string1" + "string2" + "string3"

编译器将执行适当的实习,使得x和y引用相同的对象.

编辑:StringBuilder答案和评论中有很多话题.许多开发人员似乎都认为应该始终使用字符串连接StringBuilder.这是一种过度概括 - 值得理解为什么StringBuilder在某些情况下是好的,而在其他情况下则不然.



2> Rune Grimsta..:

如果空格不重要,那么可以使用@ escape字符在代码中编写多行字符串.如果您的代码中有查询,例如:

string query = @"SELECT whatever
FROM tableName
WHERE column = 1";

这将为您提供包含换行符和制表符的字符串,但对于无关紧要的查询.



3> James Newton..:

您的示例将在编译时连接.所有内联字符串和const字符串变量在编译时连接在一起.

要记住的是,包括任何只读字符串将延迟连接到运行时.string.Empty和Environment.NewLine都是只读字符串变量.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有