社区
C#
帖子详情
string.Empty 与 "" 的区别
yidichaxiang
2009-09-17 05:33:50
string.Empty 与 "" 有啥区别?
在使用中
定义 string 类型的 变量 strName
并附值
strName.Trim().Equals(string.Empty)
strName.Trim().Equals("")
有啥区别
当strName 为空字符串时 Equals 与 == 有差异吗?
...全文
255
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 不分配存储空间
"" 分配一个长度为空的存储空间
C#中
string
.Empty和null的
区别
详解
一:””与
string
.Empty我认为是一样的。网上有一篇被转载了几十遍的文章是这样说的
string
.Empty 不分配存储空间,”” 分配一个长度为空的存储空间,我认为这句话是错误并且含糊不清的。 1、实际上Empty是
string
...
asp.net
String
.Empty NULL 不同之处
本文就它们彼此的不同之处做一粗略说明。...
string
.Empty不分配存储空间 “”分配一个长度为空的存储空间 所以一般用
string
.Empty 为了以后跨平台,还是用
string
.empty 在 C# 中,大多数情况下
asp.net中DBNull.Value,null,
String
.Empty
区别
浅析
来给大家介绍asp.net中DBNull.Value,null,
String
.Empty
区别
浅析,有需要的同学可以参考一下
【C#】
String
.empty与““的
区别
以及与null的
区别
【C#】
String
.empty与""的
区别
以及与null的
区别
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、
String
.empty到底是什么?二、
String
.empty不分配存储空间纯属扯淡1.概念性2....
string
=“ “与
string
.Empty的
区别
实际上Empty是
string
类中的一个静态的只读字段,他du的定义是这样的:public static readonly
String
Empty = “”;也就是说zhi
string
.Empty的内部实现是等于””的。 二、好处不同 "“创建一个对象
string
.Empty不...
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章