gpt4 book ai didi

c# - 在 C# 中保存相同类型的有序值对的最佳类型是什么?

转载 作者:太空狗 更新时间:2023-10-29 22:33:41 25 4
gpt4 key购买 nike

在 C# 中保存相同类型的有序值对的最佳类型是什么?

我想要的是:

  1. 在编译时强制执行两个值组合(不可能在编译时或运行时尝试添加或删除)。
  2. 两个值具有相同的静态类型。
  3. 可以使用索引器检索两个值(例如 pair[0]、pair[1])。

    更新:我改变了主意,我真的不再想要#3,因为它毫无意义地打开了越界异常的大门:

最佳答案

您可以像这样扩展 Tuple 类:

public class Pair<T> : Tuple<T, T>
{
public Pair<T>(T item1, T item2) : base(item1, item2)
{
}

public T this[int index]
{
get
{
if (index == 0)
return Item1;
else if (index == 1)
return Item2;
throw new ArgumentOutOfRangeException("index");
}
}
}

编辑:添加了构造函数。

关于c# - 在 C# 中保存相同类型的有序值对的最佳类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com