【问题标题】:What is the Triplet class used for? Is it related to Tuples?Triplet 类的用途是什么?它与元组有关吗?
【发布时间】:2011-08-07 19:50:27
【问题描述】:

所以我刚刚了解了Triplet 课程。我没有 ASP.NET 的经验,只有核心 .NET Framework。

有人可以向我解释 Triplet 类在哪里/为什么存在吗?它像元组吗?

【问题讨论】:

    标签: c# asp.net tuples


    【解决方案1】:

    是的,它与 .NET 4.0 中的 Tuple 非常相似,但可以追溯到 .NET 1.0,尤其是 ASP.NET 1.0。主要用于ViewState serialization:

    Page 类包含一个SavePageViewState(),它在页面生命周期的保存视图状态阶段被调用。 SavePageViewState() 方法首先创建一个包含以下三项的Triplet

    1. 页面的哈希码。此哈希码用于确保视图状态在回发之间没有被#tampered。我们将在“视图状态和安全含义”部分详细讨论视图状态散列。
    2. Page 的控制层次结构的集合视图状态。
    3. 控件层次结构中的控件ArrayList 需要在生命周期的引发回发事件阶段由页面类显式调用。

    还有它的弟弟叫Pair

    绝对没有理由你甚至应该为这些课程而烦恼,否则将会出现一团糟的无类型混乱。

    【讨论】:

    • +1 “它很像元组” - 除了 Triplet 是弱类型,Tuple 使用泛型并且是强类型。我同意您应该忽略,除非开发序列化为 ViewState 的 ASP.NET 自定义控件。
    • @Joe 因此我对无类型混乱的尖刻评论。
    • 感谢您提供详细而明智的回答!
    【解决方案2】:

    听起来它比 Pair 多了一个对象。当您需要准确返回三件商品时,您可以使用它。

    C# 和 Java 与 Python 不同,Python 会将多个返回值转换为一个元组。

    对我来说,Triple 听起来确实像一个元组——一个恰好包含三个项目的元组。

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 2011-07-02
      • 2014-04-22
      • 2012-05-31
      • 1970-01-01
      • 2015-12-27
      • 2010-09-27
      • 2011-12-17
      相关资源
      最近更新 更多