正在使用关键字" new"在这需要吗?

时间:2014-11-06 17:53:07

标签: c# asp.net

我有以下几段代码。两者都有效,但我不明白是否"新"必须使用或不使用。

Student oStudent;
oStudent = //Get student from database - Call business logic

VS

Student oStudent = new Student()
oStudent = //Get student from database - Call business logic

两者都有效 - 关键字" new"只有在他是新生的情况下才能使用?如果现有学生不使用" new"。 Student类只是一个容器类,其中包含名字,姓氏,等级等属性。我的业务逻辑类首先将学生作为数据表,然后将结果分配给学生容器对象并返回学生对象。

编辑 - 我的业务逻辑不会对数据进行任何复杂的计算。数据访问只返回一个学生作为数据表,业务逻辑将其更改为学生并返回它。

1 个答案:

答案 0 :(得分:3)

这种模式很愚蠢:

SomeClass sc = new SomeClass();
sc = SomeOtherValueOrFunction();

这会创建一个对象,然后将其丢弃。相反,只需做

SomeClass sc = SomeOtherValueOrFunction();

其他例子:

List<SomeClass> scl = new List<SomeClass>();
scl = GetSomeClassesFromDatabase();

相反,只需做

List<SomeClass> sc1 = GetSomeClassesFromDatabase();

new关键字用于创建类的新实例。创建一个新实例是没有意义的,然后立即用不同的实例替换它。