gpt4 book ai didi

c# - 在 LINQ select(x => new

转载 作者:IT王子 更新时间:2023-10-29 04:23:03 25 4
gpt4 key购买 nike

我正在将 POCO 映射到模型中,代码如下所示。

// NOT NEEDED var noneRequiredUserDocuments = new List<NoneRequiredUserDocument>();
//var docs = studentDocuments.Where(x => x.RequiredUserDocumentId == null); // NOT NEEDED .ToList();
//var noneRequiredUserDocuments = docs.Select(x => new NoneRequiredUserDocument

// You can chain LINQ methods (i.e. Where and Select)
var noneRequiredUserDocuments = studentDocuments
.Where(x => x.RequiredUserDocumentId == null)
.Select(x => new NoneRequiredUserDocument
{
StudentDocument = x,
Src = _storageService.GetFileUrl(x.FileName),
ThumbnailImageUrl = ImageHelper.ThumbnailImageUrl(Src, 75)

}).ToList();

我的问题是在这一行:

ThumbnailImageUrl = ImageHelper.ThumbnailImageUrl(Src, 75)

Src 在上下文中不存在。

有没有办法让我在 select 中声明一个我可以在 LINQ select 中重用的变量?

而且我不想调用 _storageService.GetFileUrl 两次。

最佳答案

您可以像这样在 Select 中声明一个变量:-

noneRequiredUserDocuments = docs.Select(x => 
{
var src= _storageService.GetFileUrl(x.FileName);
return new NoneRequiredUserDocument
{
StudentDocument = x,
Src = src,
ThumbnailImageUrl = ImageHelper.ThumbnailImageUrl(src, 75);
};
}).ToList();

查询语法中这样做等同于:-

from x in docs
let src= _storageService.GetFileUrl(x.FileName)
select and so on..

关于c# - 在 LINQ select(x => new,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29251075/

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