Как объявить поля "Key" в анонимных типах С#?

В VB.NET я привык делать подобные вещи при создании анонимных типов (анонимные типы VB.NET включают понятие ключевых полей):

Dim prod1 = New With {
 Key .Name = "paperclips",
 Key .Price = 1.29,
 .OnHand = 423
}

Однако, я не смог найти способ сделать это в С#, так как появляется ключевое слово Key не поддерживается.

Есть ли способ указать в С#, что я хочу сравнить только некоторые поля в анонимном типе при поиске равенства?

2 ответа

В С# ничего подобного нет. В С# все свойства анонимных типов доступны только для чтения и участвуют в сравнении сравнений.

Если вы хотите сделать что-то подобное на С#, вам нужно будет создать свой собственный (именованный) тип.


В С# нет эквивалента ключа.

licensed under cc by-sa 3.0 with attribution.