Я пытаюсь перевести некоторый код C# LINQ в VB.NET и застреваю о том, как объявить анонимный тип в VB.NET.
.Select(ci =>
new { CartItem = ci,
Discount = DiscountItems.FirstOrDefault(di => di.SKU == ci.SKU) })
Как Вы переводите C# new { ... }
синтаксис в VB.NET?
new { ... }
становится
New With { ... }
в VB.NET,
или
New With {Key ... }
, если вы хотите использовать свойства Key (что позволяет сравнивать два анонимных экземпляра типа, но не позволяет изменять значения этих свойств).
Поэтому я предполагаю, что ваше утверждение будет выглядеть так:
.Select(Function(ci) New With {Key _
.CartItem = ci, _
.Discount = DiscountItems.FirstOrDefault(Function(di) di.SKU = ci.SKU) _
})