gpt4 book ai didi

.net - 你能将 return 转入 IList 吗?

转载 作者:行者123 更新时间:2023-12-02 12:22:41 25 4
gpt4 key购买 nike

在我的 MVC 应用程序的服务层中,我尝试将 linq to sql 实体结果转换为我的业务模型实体。我目前正在尝试以下代码:

    public IList<Project> GetAllProjects()
{
var results = from p in _context.Repository<DBMappings.project>()
select p;

foreach (DBMappings.project prj in results.ToList<DBMappings.project>())
yield return CreateProjectEntityFromDBProject(prj);

}

不幸的是,这似乎不起作用,我唯一能猜测的是,yield 仅适用于 IEnumerable。除了创建新列表、在 foreach 循环中添加项目并返回列表之外,还有其他解决方案吗?我需要使用 IList,因为使用返回列表的方法需要能够执行列表方法,例如 .Sort()。

最佳答案

如果您想要.Sort(),您绝对应该在您的方法中创建一个列表。使用yield可以节省一些内存——因为结果不存储为单个对象。当您只想浏览结果时,这非常有用。但如果你想对某些东西进行排序,你需要将它作为一个整体存储在内存中。

关于.net - 你能将 return 转入 IList<T> 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2389212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com