programing

LINQ 문에서 익명 유형에 해당하는 VB.NET 구문은 무엇입니까?

muds 2023. 5. 21. 12:04
반응형

LINQ 문에서 익명 유형에 해당하는 VB.NET 구문은 무엇입니까?

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 ... }키 속성을 사용하려는 경우(두 개의 익명 유형 인스턴스를 비교할 수 있지만 해당 속성의 값은 변경할 수 없음).

그래서 당신의 진술은 다음과 같이 보일 것 같습니다.

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

C#:

new {name1 = "value1", name2 = "value2"}

VB 등가:

New With {Key .name1 = "value1", Key .name2 = "value2"}

또한.

C#:

new {anotherObj.prop1, anotherObj.prop2}

VB 등가:

New With {Key anotherObj.prop1, Key anotherObj.prop2}

참고: VB 등가물의 Key 키워드는 필수입니다.VB에서 를 지정하면 속성이 읽기 전용이 되고 Equal 메서드에서 선택되며 C#에서는 익명 유형의 모든 속성이 읽기 전용으로 선택되고 Equal 메서드에서 선택됩니다.

참조:

익명 유형(C# 프로그래밍 가이드)

익명 유형(Visual Basic)

언급URL : https://stackoverflow.com/questions/3142225/whats-the-equivalent-vb-net-syntax-for-anonymous-types-in-a-linq-statement

반응형