日期:2014-05-18  浏览次数:20772 次

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

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



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

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



请大虾们答疑下,多谢。

------解决方案--------------------
System.Data.Common.DbCommand insertCommand = null; 这个应该是为了到用到的时候在new,不浪费空间的原因吧。。。。
------解决方案--------------------
书本有排版的要求(一行不能太长),不过分两行时先置null是不必要的。
而你写成一行不会有(排版以外的)问题。
------解决方案--------------------
我不知道为什么要分开写,下面又没有流程分支。
------解决方案--------------------
我估计是个人喜好问题,有人不愿意写到一行中,也为了代码格式看着是舒服
------解决方案--------------------
再说C#提供了var关键字,写一行多好看。

var command = _db.GetStoredProcCommand("HOLAddProduct");
------解决方案--------------------
探讨
我在阅读《最新版+Enterprise+Library+企业库+V4.1+中文学习手册.pdf》的时候发现如下一个问题,示例代码中,所有涉及到创建对象的地方,都是以下面形式创建的。
即先将变量初始化为null,然后再创建具体对象后赋值。
C# code

System.Data.Common.DbCommand insertCommand = null;
insertCommand = _d……

------解决方案--------------------
排版的问题,平时写代码这两行还是并为一行好。
------解决方案--------------------
代码风格而已。
------解决方案--------------------
1. 估计是书怕一行太长了,分2行写;
2. 作者编程习惯那样;