【问题标题】:Is there a predefined class for 3 linked values like the Hashtable?是否有 3 个链接值(如 Hashtable)的预定义类?
【发布时间】:2009-02-03 22:50:20
【问题描述】:

是否有一个内置对象以与哈希表类似的方式处理 3 个链接值?即 Key、Value1、Value2?

【问题讨论】:

    标签: c# .net vb.net .net-2.0 c#-2.0


    【解决方案1】:

    我也会说通用字典。

    如果您不想做任何广泛的事情,只需从 Value1、Value2 中创建一个结构或某种元组,然后将它们作为字典 Key 的值。比如:

    Dictionary<Key, ThatTinyStructYouHadToCreate>
    

    坏主意:如果您不喜欢该选项,就“内置”而言,DataTable 中的 DataRow 将为您提供该功能。虽然这是一种非常简单的设置方法,但它也是一种非常低效(就执行成本而言)的方法。

    【讨论】:

    • 我正打算推荐这个,很好。
    【解决方案2】:

    您可以使用通用字典轻松制作一个。类似Dictionary&lt;Key, KeyValuePair&lt;Key, Value&gt;&gt;,甚至Dictionary&lt;Key, object[]&gt;

    【讨论】:

    • 我想过——这个库不应该是繁重的,所以我希望不必构建/实现任何广泛的东西。
    • 我不太确定我是否理解。 Dictionary 和 KeyValuePair 已经在 .NET 中实现。您不必构建任何东西。
    • 糟糕 - 我猜你的全文在我发表评论之前没有发布......是的,我明白你在说什么。
    • 我同意 Mike_G 的观点,这可能是实现您想要的最快的方法;但它可能不会产生最可维护的代码。根据我的经验,将自定义类作为具有良好命名属性的“值”对于第一次查看您的代码的人来说会更加清晰。
    • 不喜欢 object[] 路由,但对 KeyValuePair +1。在 BCL 中的某个地方有一个非通用的 Pair 类,我偶尔也会使用它,但我记得它位于 Control 命名空间之一(WebControl、Control、ComponentModel 或其他东西......)中的某个地方
    猜你喜欢
    • 2019-06-30
    • 2010-12-16
    • 2011-09-04
    • 2022-01-08
    • 2018-10-15
    • 2016-03-16
    • 2013-11-14
    • 1970-01-01
    • 2015-02-16
    相关资源
    最近更新 更多