如何在C#匿名类型中声明“Key”字段?

在VB.NET中,我习惯于在创建匿名类型时做这样的事情( VB.NET匿名类型包括关键字段的概念 ):

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

但是,我无法在C#中找到任何方法,因为它似乎不支持Key关键字。

有没有办法在C#中表明我只想在寻找相等性时比较匿名类型中的一些字段?

在C#中没有类似的东西。 在C#中 ,匿名类型的所有属性都是只读的,并参与相等比较。

如果你想在C#中做这样的事情,你需要创建自己的(命名)类型。

c#中没有Key等价物。