【发布时间】:2026-02-02 07:05:01
【问题描述】:
在我的 BLL 中,我需要先声明一个空列表,然后最终在代码中使用我的 DAL 中返回类型 IEnumerable 的函数来设置它。
这是做这种事情的正确方法吗?
IEnumerable<productList> productList = new List<Product>();
productList = DAL.GetProducts();
通常我只是执行以下操作,但上面的场景不同:
IEnumerable<productList> productList = DAL.GeytProducts();
为了消除任何混淆,这里是我的代码示例:我只是想知道我是否正确地执行此操作:
IEnumerable<Product> retval = new List<Product>();
if (myInteger > 0)
{
retval = DAL.GetProducts1(); // this DAL function returns IEnumerable<Product>
}
else
{
retval = DAL.GetProductHistory(); // this DAL function returns IEnumerable<Product>
}
return retval
【问题讨论】:
-
您正在创建并丢弃列表的一个新实例。这是毫无意义。为什么你认为你必须这样做?这没有任何意义。
-
@Will他说“最终”设置它稍后,这可能意味着它在此期间被访问并且应该是空的。你不知道他的申请。
-
不确定我如何不必这样做...假设我需要在名为 RETVAL 的 if 语句之外声明一个空列表,然后在 if else 语句中我需要根据情况设置列表,最后返回。
-
您在 if 的任一分支中都分配了一个值,因此最初没有理由将其设置为任何值。
-
或者您甚至可以从条件分支中返回,除非您在 if/else 之后对集合执行其他操作
标签: c# linq list ienumerable