小记 字符串内插($)与String.Format 编译后效果一样
来源:互联网 发布:ubuntu root 登录 编辑:程序博客网 时间:2024/06/04 17:43
注;小记并不是讨论字符串连接性能的。
最近在想,字符串内插($)和String.Format 到底哪一种效率更高,于是,有了这个小记。
Module Module1 Sub Main() Dim baseUrl = "" Dim currentPage = 3 Dim pageUrl = $"{baseUrl}&s={(currentPage * 20).ToString}" Console.WriteLine(pageUrl) 'Dim pageUrl3 = String.Format("{0}&s={1}", baseUrl, (currentPage * 20).ToString) 'Console.WriteLine(pageUrl3) Console.ReadKey() End SubEnd Module
上面这段代码,就是分别测试字符串内插($)和String.Format的,通过ILDASM可以看到,其实,两种方式编译之后的代码是一样的。
下面是ILDASM看到的字符串内插的代码,String.Format一样的,所以就不贴了。
总结;
1.表现形式上:
字符串内插是String.Format之后才有的,个人比较喜欢字符串内插,看起来比较直观,String.Format的话,如果参数很多,粗心的时候容易搞乱(也有可能是因为这个,才有的字符串内插,猜测)。
2.效率上:
两段代码都编译成一样的,所以就没有啥可比性了。
不过,感兴趣的朋友,可以去看下String.Format的实现,它内部是调用的FormatHelper,而FormatHelper是用StringBuilderCache来实现的。
StringBuilderCache又是为了弥补New StringBuilde以及StringBuilder.ToString才有的。
这个小记不是讨论字符串连接性能,对字符串连接性能感兴趣的可以看我另外一篇转载的文章(.NET程序的性能要领和优化建议),里面有谈到StringBuilderCache(StringBuilder缓存技术)。
0 0
- 小记 字符串内插($)与String.Format 编译后效果一样
- 小记String.Format
- JAVA字符串格式化与String.format( )
- String.format()用法大全 (字符串拼接)
- 格式字符串 String.format
- String format 格式化字符串
- String.format(格式化字符串)
- String.format() 格式化字符串
- String.format() 格式化字符串
- asp.net 设置字符串格式与string.Format的应用
- C# 格式化字符串 String.Format
- String.Format格式化字符串一览
- C# 格式化字符串 String.Format
- C# 格式化字符串 String.Format
- C# 格式化字符串 String.Format
- C# String.Format() 格式化字符串
- String.format字符串格式化方法
- string.Format字符串格式化说明
- WPF中XML的读写
- Gym - 101102C C. Bored Judge 线段树+贪心+反向推
- php+mysql用户注册与验证页面代码
- 入门机器学习的第一个程序!(python版)
- 全选反选练习
- 小记 字符串内插($)与String.Format 编译后效果一样
- ROS入门_1.11 使用 rqt_console 和 roslaunch
- 母猪为什么会起飞,答案我找到了
- Struts1实现文件上传
- 这几天要做美团页面的项目了。
- 常见排序算法
- 欢迎使用CSDN-markdown编辑器
- android增量更新----------------最简实现
- 【uml】动态图之活动图、状态图