字符串初始化时,s="" 好呢?还是 s=null 好呢?区别有多大?

zsdlOO 2010-10-11 01:15:46
字符串初始化时,s="" 好呢?还是 s=null 好呢?区别有多大?

书上讲,一般初始化字符串的方法就有两种:
string s="";

string s=null;

我不知这两种方法区别有多大,哪种方式更好呢?
...全文
721 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rainqin123 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 qinqijing_123 的回复:]
区别大的很....NULL是一个宏,是内存的0x00000000位置,是受保护的,但“ ”,则隐含了一个\n串结束符,所以大的很....
[/Quote]


我是从windows观点(c)来解说的
tone770 2010-10-12
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
godwilling 2010-10-12
  • 打赏
  • 举报
回复
最好是 s=string.Empty;
Lanneret11 2010-10-12
  • 打赏
  • 举报
回复
完全根据需要自己定吧。
z405158579 2010-10-12
  • 打赏
  • 举报
回复
s=null表示s为空
s=""表示s赋了一个空白字符 实际""是有赋值的 只不过你看不到
aasheaa212 2010-10-12
  • 打赏
  • 举报
回复
根据自己项目实际情况来定;
Rainqin123 2010-10-12
  • 打赏
  • 举报
回复
要用串最好用“”这种....原因自知....
Rainqin123 2010-10-12
  • 打赏
  • 举报
回复
区别大的很....NULL是一个宏,是内存的0x00000000位置,是受保护的,但“ ”,则隐含了一个\n串结束符,所以大的很....
  • 打赏
  • 举报
回复
引用类型 通常定义 赋值为 null
但是 string 类型 特殊点点。
定义赋值 为“” 为了美观和统一通常也就string.Empty

所以 string s = string.Empty;
  • 打赏
  • 举报
回复
不错,学习到了。
空白画映 2010-10-11
  • 打赏
  • 举报
回复
学习一下,我是一个新手所以我诚心的学习,我积分不多所以我得天天发帖赚积分来提问。
champ4077 2010-10-11
  • 打赏
  • 举报
回复
学习到了
mars199 2010-10-11
  • 打赏
  • 举报
回复
string s=String.Empty;
think_fish1210 2010-10-11
  • 打赏
  • 举报
回复
这两种基本没区别
一般用string s=String.Empty;
z546123 2010-10-11
  • 打赏
  • 举报
回复
...............
claymore1114 2010-10-11
  • 打赏
  • 举报
回复
string str = string.Empty 肯定的
Dobzhansky 2010-10-11
  • 打赏
  • 举报
回复
object o = str; // 之后就看出区别了

o 有无类型的区别

叽里咕噜的, 这个不好说用哪个
liuwei2500 2010-10-11
  • 打赏
  • 举报
回复
string str=null;不分配内存。
string str="";不知道在C#里面被分配了多少的长度。反正在C++里面长度是1;
你问这个问题你可以去看下值类型和引用类型。然后看看内存的一些只是就知道了
deyygywxf 2010-10-11
  • 打赏
  • 举报
回复
string str = null 不分配内存。
string str = " " 分配字节为0的内存。

不过一般用string str = string.Empty
rwm5366745 2010-10-11
  • 打赏
  • 举报
回复
没太大的区别
string str=""; //在内存中分配空间
string str=null; //在内存中不分配空间
加载更多回复(18)

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧