疑问:.NET对象初始化

RubbyZK 2012-03-09 10:49:11
我在阅读《最新版+Enterprise+Library+企业库+V4.1+中文学习手册.pdf》的时候发现如下一个问题,示例代码中,所有涉及到创建对象的地方,都是以下面形式创建的。
即先将变量初始化为null,然后再创建具体对象后赋值。

System.Data.Common.DbCommand insertCommand = null;
insertCommand = _db.GetStoredProcCommand("HOLAddProduct");


我想知道的是这样分两步写是有什么用意,还是习惯而已,如果是我自己,目前的习惯是一行。

System.Data.Common.DbCommand insertCommand = insertCommand = _db.GetStoredProcCommand("HOLAddProduct");


请大虾们答疑下,多谢。
...全文
189 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuelang1225 2012-03-09
  • 打赏
  • 举报
回复
排版的问题,平时写代码这两行还是并为一行好。
porschev 2012-03-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 rubbyzk 的回复:]
我在阅读《最新版+Enterprise+Library+企业库+V4.1+中文学习手册.pdf》的时候发现如下一个问题,示例代码中,所有涉及到创建对象的地方,都是以下面形式创建的。
即先将变量初始化为null,然后再创建具体对象后赋值。
C# code

System.Data.Common.DbCommand insertCommand = null;
insertCommand = _d……
[/Quote]

可能是习惯。。。把声明的放一行。。。不过没有什么影响
种草德鲁伊 2012-03-09
  • 打赏
  • 举报
回复
再说C#提供了var关键字,写一行多好看。

var command = _db.GetStoredProcCommand("HOLAddProduct");
bdmh 2012-03-09
  • 打赏
  • 举报
回复
我估计是个人喜好问题,有人不愿意写到一行中,也为了代码格式看着是舒服
种草德鲁伊 2012-03-09
  • 打赏
  • 举报
回复
我不知道为什么要分开写,下面又没有流程分支。
gomoku 2012-03-09
  • 打赏
  • 举报
回复
书本有排版的要求(一行不能太长),不过分两行时先置null是不必要的。
而你写成一行不会有(排版以外的)问题。
RubbyZK 2012-03-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bustersword 的回复:]
System.Data.Common.DbCommand insertCommand = null; 这个应该是为了到用到的时候在new,不浪费空间的原因吧。。。。
[/Quote]



System.Data.Common.DbCommand insertCommand = null;
insertCommand = _db.GetStoredProcCommand("HOLAddProduct");

这两行是紧接在一起的,如果是分开的两行,的确是你说的那样,用时才new,我完全赞同。
bustersword 2012-03-09
  • 打赏
  • 举报
回复
System.Data.Common.DbCommand insertCommand = null; 这个应该是为了到用到的时候在new,不浪费空间的原因吧。。。。
RubbyZK 2012-03-09
  • 打赏
  • 举报
回复
自己先顶一下
RubbyZK 2012-03-09
  • 打赏
  • 举报
回复
首先,感谢各位的回复。
此问题在现有的状况中,我们权且认为是排版需要或者是习惯问题,在CRL看来,等同于写一行。

十分感谢,结贴!
ziyouli 2012-03-09
  • 打赏
  • 举报
回复
1. 估计是书怕一行太长了,分2行写;
2. 作者编程习惯那样;
越活越不精彩 2012-03-09
  • 打赏
  • 举报
回复
代码风格而已。

110,561

社区成员

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

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

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