一个从来不曾注意的问题,在C#语言中,对于字符串变量的赋初值问题,大家发表一下见解!!

hui0312 2006-10-25 10:47:24

在以往的编程中我是这样对字符串变量赋初值的
string strDes = "";
或者:
string strDes = string.Empty;

我也见过别人这样用:
string strDes = null;

各位谈一下,这几种方式有什么不同呢?那一种方式更好!!
...全文
226 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
学习
Tenner 2006-10-25
  • 打赏
  • 举报
回复
可以不给初值,这样如果你在引用这个变量前没有对它进行任何赋值操作,C#编译器会提示你可能引用了未赋值的变量
cancerser 2006-10-25
  • 打赏
  • 举报
回复
如果不是默认是""
不如不给初值
hui0312 2006-10-25
  • 打赏
  • 举报
回复
如果初值赋 null 当没有再次赋值时 null 作一些函数的参数可能导致错误提示 !!

感觉初值还是给它一个空串为好
viena 2006-10-25
  • 打赏
  • 举报
回复
null好
除非它的默认值就是空字符串
hui0312 2006-10-25
  • 打赏
  • 举报
回复
在实际的编程当中使用那一种方式更好呢?
我现在写一个属性函数
/// <summary>
/// 树结点名称,代码描述
/// </summary>
private string strDes = null;
/// <summary>
/// 得到或设置树结点名称,代码描述
/// </summary>
public string u_strDes
{
get { return strDes; }
set { strDes = value; }
}

其中:private string strDes = null; 赋初值时,那种方式更好呢!!
yumanqing 2006-10-25
  • 打赏
  • 举报
回复
楼上的对
lxhvc 2006-10-25
  • 打赏
  • 举报
回复
string 是引用类型,所以可以赋null,表示没有指向任何字符串实例,而string.Empty是空字符串,等同于""
lovefootball 2006-10-25
  • 打赏
  • 举报
回复
如果这个变量只是应用于属性
应该这样
private string temp;
如果是普通的变量
应该这样
private string temp = null;
不过说实话
差别不大

110,825

社区成员

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

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

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