什么时候我们需要用&;new&;来创建一个对象?什么时候我们可以声明并赋值给它
本文关键字:什么时候 我们 声明 赋值 创建 new 一个对象 | 更新日期: 2023-09-27 18:06:19
在LINQ to Entities查询中:
List<string> myResult = (from myTable do some joins...blah).ToList();
if(myResuly.Any())
{
// Foo
}
我的问题是我们如何知道我们是否可以使用
List<string> myResult = (from myTable do some joins...blah).ToList();
或者我们应该使用:
List<string> myResult = new List<string>();
myResult = (from myTable do some joins...blah).ToList();
如果在=
的右侧有一个生成值的函数,则不需要new
。在第三个例子中,您的new
列表立即被丢弃,ToList()返回的列表用于
如果您已经可以获得列表,为什么还要浪费额外的代码行呢?
List<string> myResult = new List<string>();
初始化列表的整个想法是,你还没有一个可以存储在'myResult'中的列表。
想象一下试图访问尚未初始化的列表。
我们不应该像这样使用(尽管是安全的)代码:
List<string> myResult = new List<string>();
myResult = ... // myResult is reassinged here and "new List<string>()" just lost
,因为您只是创建无用的 List<string>
实例。
List<string> myResult = WhatEver(...).ToList();