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

合并vs空字符串连接

如何解决《合并vs空字符串连接》经验,为你挑选了1个好方法。

我的同事是C#的新手,并不知道合并操作员.所以,我看到他写了一行代码:

string foo = "" + str;

想法是,如果str为null,则此表达式将返回空字符串.当然,这可以改写为:

string foo = str ?? "";

我觉得这会更具可读性.但这真的很重要吗?可读性的好处是否足以建议返回并使这些线看起来像第二个?或者这是我应该学会放手的事情之一(假设我的同事接受了未来最佳方式的教育)?

编辑:只是一个注释,我很欣赏效率评论,但这并没有真正用于任何性能至关重要的情况.因此,虽然这些信息很有趣,但并不一定是我认为重要的信息.



1> aku..:

IMO,明确定义这样的逻辑要好得多,即不使用字符串连接来避免空字符串并使用条件语句或?? 运营商.

关于其他意见:

使用null-coalescing运算符也有一个性能优势,因为不需要进行连接(因此,不会不必要地创建额外的字符串实例)

不对.C#编译器将""+ string2编译为与string1相同的100%代码?"".此外,C#编译器转换+运算符以调用string.Concat方法,该方法又使用string.IsNullOrEmpty函数检查参数,并且在这种情况下不分配新字符串.

另外我建议使用String.Empty而不是"",因为它是一个常量,不需要创建一个新的String

.NET框架支持字符串实习,因此""和string.Empty指向相同的内存区域

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