【问题标题】:Which of the following statements about a Dictionary is false?下列关于字典的陈述哪项是错误的?
【发布时间】:2015-08-24 02:55:40
【问题描述】:

这是一个测验问题。我认为我得到了正确的答案,但我认为其中一个选项也是错误的。你能解释一下吗?谢谢!

C#:以下关于字典的陈述哪项是错误的?

A) 字典可以保存对象
B) 字典键和值不能是不同的类型
C)两个键可以具有相同的值。 (这个说法有歧义吗?)
D) 一个特定的键在字典中只能出现一次。

我认为 B 是错误的。 Key 可以是 int,value 可以是 Object。我想这就是我应该选择的答案。这个答案就是我写这篇文章的原因。但我回答 C 是因为我读错了,即使我认为 D 与 C 矛盾。

所以我猜真正的答案是我所怀疑的:B。

【问题讨论】:

  • B 为假。 C 不是模棱两可的。您可以拥有两个具有相同值的键。关键是必须是唯一的。

标签: c# dictionary key key-value


【解决方案1】:

A) 字典可以保存对象

这是真的。 c# 中的字典是泛型的(除非您自己编写了一个非泛型的特定字典)

B) 字典的键和值不能是不同的类型。

这是错误的。通常会看到带有 Object(value) 的 string(key) 字典。

C) 两个键可以具有相同的值。 (这个说法有歧义吗?)

这是真的。如果我们指的是键本身的值,则该陈述是错误的。 如果我们指的是字典中由键表示的值,那么它是正确的。可以将同一个对象分配给两个键。

D) 一个特定的键在字典中只能出现一次。

这是真的。它是字典的精髓。

【讨论】:

  • "这是真的。如果我们指的是键本身的值,那么该语句是错误的。"嗯,不会是假的。要么这两个键是相同的(因为它们是相同的值),要么它们是不同的键,它们散列到相同的值,导致冲突,这很好:)
  • 我假设 Rob 你的意思是一个可以被散列而另一个不能被散列?我不确定我是否跟随你。对不起,我是新手。我仍然认为它可以用措辞更好。“两个不同的键可以有相同的值。”当你快速进行计时测试时,很难看到可以用两种不同的方式读取某些内容。你只是阅读它,你可能不会注意到另一种阅读方式。上面的一个人说这并不模棱两可。
猜你喜欢
  • 1970-01-01
  • 2013-08-20
  • 2011-01-07
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多