标题:在C# 中,string str = null 与 string str = " " ,请说明其中的区别??? ...
只看楼主
guming
Rank: 4
等 级:业余侠客
威 望:5
帖 子:329
专家分:277
注 册:2006-11-9
得分:0 
string 是引用类型的数据,就是在栈内存中保存了引用(该引用是一个指向堆内存的一个地址),而在堆内存中保存了值。string str="";//就是建立了引用,并将该引用指向了堆内存中的对象,对象的值为空,而string=null;//是未建立引用,也就是空引用,也没有分配内存空间

不想停留。。。
2011-12-24 01:32
nsdick19
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-12-24
得分:0 
學習了
2011-12-24 12:04
zt874727389
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-12-26
得分:0 
呵呵
2011-12-26 11:50
sdjyld
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2011-5-24
得分:0 
说的很好
2012-01-08 18:56
feng617155
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-1-10
得分:0 
学习,顺便说一句,LZ头像很励志
2012-01-10 23:55
husang608
Rank: 1
来 自:深圳
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-12-6
得分:0 
!!!!!!!!!!!!!!!!NND。顶起来!!!!!!!!!!
2012-01-11 17:09
husang608
Rank: 1
来 自:深圳
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-12-6
得分:0 
!!!!顶起来!!
2012-01-11 17:09
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
得分:0 
以下是引用a49877408在2011-12-24 00:56:47的发言:

String Str="";表示一个空串,被实例化了,占用了内存空间   而String Str=null;但没有分配内存空间,是一个空引用


说的很到位了,再给你重复一下。
string str=“”和string str=string.empty是一个意思,都是声明一个str对象,给他分配内存空间,内容为空。
string str=null是声明一个str对象,不给他分配内存空间。

C#Winform技术群:25380362
博客:http:///boyliupan/
2012-01-12 10:36
wangzhen_andy
Rank: 2
来 自:广州
等 级:论坛游民
帖 子:39
专家分:25
注 册:2008-9-22
得分:0 
string类有一个方法叫做isNullorEmpty(),就是对应于你这两种情况.
举一个例子,有一个函数:
public string GetFileText(string filePath)
{
    找到这个文件;
    打开文件;
    获取文件内容并返回.
}
函数的作用如内容所示.这个时候有两种情况,第一,你传入的文件路径不存在,即要打开的文件不存在,这时函数的返回值为null;第二,你传入的文件存在,但文件是空白的,这时返回的就是"",即string.Empty.
2012-01-17 20:16
wangzhen_andy
Rank: 2
来 自:广州
等 级:论坛游民
帖 子:39
专家分:25
注 册:2008-9-22
得分:0 
另外,我越看越觉得,你的题目怎么像是一个空格字符串?string str = " "???

楼主是否了解 str = "", str = " "的区别?这个应该很好辨认吧。
2012-01-17 20:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-358418-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065817 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved