18

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

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

但是,我无法在 C# 中找到任何方法来执行此操作,因为似乎Key不支持该关键字。

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

4

2 回答 2

18

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

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

于 2013-01-21T02:25:29.773 回答
3

c# 中没有等效的 Key。

于 2013-01-21T02:26:31.443 回答