c# - LINQ 语句中匿名类型的等效 VB.NET 语法是什么?

标签 c# .net vb.net linq anonymous-types

我正在尝试将一些 C# LINQ 代码转换为 VB.NET,但一直纠结于如何在 VB.NET 中声明匿名类型。

.Select(ci => 
    new { CartItem = ci, 
          Discount = DiscountItems.FirstOrDefault(di => di.SKU == ci.SKU) }) 

如何将 C# 的 new { ... } 语法转换为 VB.NET?

最佳答案

new { ... } 变成

VB.NET 中的新功能 { ... }

New With {Key ... } 如果您想使用 Key 属性(它允许您比较两个匿名类型实例,但不允许更改这些属性的值)。

所以我猜你的陈述应该是这样的:

.Select(Function(ci) New With {Key _
    .CartItem = ci, _
    .Discount = DiscountItems.FirstOrDefault(Function(di) di.SKU = ci.SKU) _
})

关于c# - LINQ 语句中匿名类型的等效 VB.NET 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142225/

相关文章:

c# - 用于查看的 Asp.net Web 表单消息模板

c# - 比较出错 c# Dictionary<String, string[]>

c# - MidpointRounding 的 Decimal.Round 默认设置

c# - .NET 有时无法加载 DLL

c# - 如何在 C# 中检查一个数组的一个元素是否匹配或另一个数组的元素的一部分?

c# - MVC3 maproute 不显示操作?

c# - 我的C#程序需要使用VB文件中的方法,如何调用这个方法?

vb.net - MustOverride 具有混合访问级别 Get/Set 的属性

c# - .NET 服务器如何将文件处理结果推送到客户端 jQuery?

wpf - flowdocument - 在末尾插入富文本,在插入点上方创建额外的分段符