gpt4 book ai didi

c# - 在 lambda 表达式中引用当前对象

转载 作者:行者123 更新时间:2023-11-30 13:38:19 25 4
gpt4 key购买 nike

是否可以在 Linq 中的 lambda 表达式的 Select 语句中引用当前对象的属性?

例子:

...
.Select(s => new {
Date = s.Date.ToString("yyyy-MM-dd"),
Time = s.Time.ToString("h':'m"),
DateTime = s.Date.ToString("yyyy/MM/dd") +"-"+ s.Time.ToString("h':'m"),
Temperature = s.Temperature,
Humidity = s.Humidity,
Device = s.Device.Name,
Message = s.Message
})

我想通过引用先前定义的 DateTime 属性来替换对 ToString 函数的两次调用。

最佳答案

如果切换到 LINQ 查询语法(而不是方法语法),则可以使用 let keyword “存储子表达式的结果以便在后续子句中使用它”。

from s in source
let dateStr = s.Date.ToString("yyyy-MM-dd")
let timeStr = s.Time.ToString("h':'m")
select new {
Date = dateStr,
Time = timeStr,
DateTime = dateStr + "-" + timeStr,
Temperature = s.Temperature,
Humidity = s.Humidity,
Device = s.Device.Name,
Message = s.Message
}

关于c# - 在 lambda 表达式中引用当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475492/

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