社区
C#
帖子详情
string.Empty 与 "" 的区别
yidichaxiang
2009-09-17 05:33:50
string.Empty 与 "" 有啥区别?
在使用中
定义 string 类型的 变量 strName
并附值
strName.Trim().Equals(string.Empty)
strName.Trim().Equals("")
有啥区别
当strName 为空字符串时 Equals 与 == 有差异吗?
...全文
369
13
打赏
收藏
string.Empty 与 "" 的区别
string.Empty 与 "" 有啥区别? 在使用中 定义 string 类型的 变量 strName 并附值 strName.Trim().Equals(string.Empty) strName.Trim().Equals("") 有啥区别 当strName 为空字符串时 Equals 与 == 有差异吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
红街咖啡
2009-09-17
打赏
举报
回复
有没有分配内存的区别。
phommy
2009-09-17
打赏
举报
回复
[Quote=引用 9 楼 abcdwxc 的回复:]
string.Empty 不分配存储空间
"" 分配一个长度为空的存储空间
[/Quote]
并非“长度为空”。考查代码
string s="";
为了存储"",需要在堆上分配3个字节,分别是两个0和""它在内存中的位置,即s.m_firstChar、s.m_arrayLength和s.m_stringLength
另外,还在堆栈上分配了1个字节,存放变量s本身
那篇文章说Length比较最节省时间也是不对的,可以用Reflect出源代码看到,两者在效率上是相同的
private static unsafe bool EqualsHelper(string strA, string strB)
{
int length = strA.Length;
if (length != strB.Length)
{
return false;
}
...
yudeli
2009-09-17
打赏
举报
回复
string.Empty是一个Static的属性,使用时不分配存储空间,而在用""时,系统会分配一个长度为空的存储空间。不过编译系统应该会优化,也就是说,比如你程序中有10个地方用到了"",但好的编译系统应该引用的是同一个对象。所以用""也就是浪费一个对象空间而已。
「已注销」
2009-09-17
打赏
举报
回复
你用""的时候有可能会因为笔误打成" ";
但是用string.Empty就不会存在这个问题.
abcdwxc
2009-09-17
打赏
举报
回复
string.Empty 不分配存储空间
"" 分配一个长度为空的存储空间
LutzMark
2009-09-17
打赏
举报
回复
[Quote=引用 5 楼 lcl_data 的回复:]
理论上讲:
string.Empty是一个Static的属性,使用时不分配存储空间,而在用""时,系统会分配一个长度为空的存储空间。不过编译系统应该会优化,也就是说,比如你程序中有10个地方用到了"",但好的编译系统应该引用的是同一个对象。所以用""也就是浪费一个对象空间而已。
[/Quote]
up 开发时优先使用String.Empty代替""
xuenzhen123
2009-09-17
打赏
举报
回复
string.Empty不分配存储空间
""分配一个长度为空的存储空间
所以一般用string.Empty
为了以后跨平台,还是用string.empty
在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:
string s = "";
string s2 = string.Empty;
if (s == string.Empty) {
//
}
if语句成立
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ""
LutzMark
2009-09-17
打赏
举报
回复
string.Empty的好处是可以跨平台
十八道胡同
2009-09-17
打赏
举报
回复
理论上讲:
string.Empty是一个Static的属性,使用时不分配存储空间,而在用""时,系统会分配一个长度为空的存储空间。不过编译系统应该会优化,也就是说,比如你程序中有10个地方用到了"",但好的编译系统应该引用的是同一个对象。所以用""也就是浪费一个对象空间而已。
souperstar
2009-09-17
打赏
举报
回复
[Quote=引用 1 楼 crazysox 的回复:]
string.Empty 不分配存储空间
"" 分配一个长度为空的存储空间
[/Quote]
UP~~
十八道胡同
2009-09-17
打赏
举报
回复
这里有篇
文章
就说这个
HooverHuang
2009-09-17
打赏
举报
回复
Equals用于数据对象之间的比较,而“==” 用于值的比较。
crazysox
2009-09-17
打赏
举报
回复
string.Empty 不分配存储空间
"" 分配一个长度为空的存储空间
String
.Empty、
string
=”” 和null的
区别
String
.Empty是
string
类的一个静态常量;
String
.Empty和
string
=””
区别
不大,因为
String
.Empty的内部实现是: 1 2 3 4 5 6 7 8 9 10 11 12 publicstaticreadonly
string
Empt...
string
、Empty和null三者的
区别
转自:http://webservices.ctocio.com.cn/net/192/9381692.shtml 本文介绍
string
、Empty和null三者的
区别
。 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论。但是我觉得都是不求甚解,有一些还是在误导别人。下面我来说下我对这三者的理解,如有错误的地方请大家及时指正。 一:""与
string
.Emp
【C#】
String
.empty与““的
区别
以及与null的
区别
【C#】
String
.empty与""的
区别
以及与null的
区别
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、
String
.empty到底是什么?二、
String
.empty不分配存储空间纯属扯淡1.概念性2.相同之处3.不同之处三、
string
.Empty与null的
区别
总结 前言 敲黑板的知识点:引用类型是将对象是实际数据保存在堆上, 将对象在堆上的地址保存在栈上。 提示:以下是本篇文章正文内容,下面案例可供参考 一、
String
.empty到底是什么?
string
=“ “与
string
.Empty的
区别
一、意思不同 实际上Empty是
string
类中的一个静态的只读字段,他du的定义是这样的:public static readonly
String
Empty = “”;也就是说zhi
string
.Empty的内部实现是等于””的。 二、好处不同 "“创建一个对象
string
.Empty不创建对象参考文献,这使得
string
.Empty更有效率。在.NET 2.0及更高版本中,所有出现在”“引用相同的字符串文字,这意味着”"等于.Empty,但还是不如.Length == 0,Length == 0是
【C#】""与
String
.empty的
区别
”“与
String
.empty都是表示的是空字符串,但是他们两个是有
区别
的,”“表示的是重新开辟内存空间,分配一个长度为空的内存空间! 而
String
.Empty指向一处。
string
.Empty不分配内存空间! 综上,所以我们一般用
string
.Empty 。这样以后跨平台更加方便!但是在C#的代码中二者的功能一样,对结果没有任何的影响!...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章