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

时间:2013-01-21 02:12:22

标签: c# vb.net anonymous-types

在VB.NET中,我习惯于在创建匿名类型(VB.NET anonymous types include the notion of Key Fields)时执行以下操作:

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

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

有没有办法在C#中指出我只想在查找相等性时比较匿名类型中的某些字段?

2 个答案:

答案 0 :(得分:18)

在C#中没有类似的东西。 In C#, all properties of anonymous types are read-only and participate in equality comparisons.

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

答案 1 :(得分:3)

c#中没有Key等价物。