在 VB.NET 中,我习惯于在创建匿名类型时做这样的事情(VB.NET 匿名类型包括键字段的概念):
Dim prod1 = New With {
Key .Name = "paperclips",
Key .Price = 1.29,
.OnHand = 423
}
但是,我无法在 C# 中找到任何方法来执行此操作,因为似乎Key
不支持该关键字。
有没有办法在 C# 中表明我只想在查找相等性时比较一些匿名类型的字段?
在 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。