是否存在Tuple类的某个版本,其Items属性不是只读的,并且可以设置
本文关键字:只读 设置 属性 Tuple 存在 是否 版本 Items | 更新日期: 2023-09-27 18:11:38
我想知道是否有内置版本的类Tuple
,其Items属性不是readonly
,并且可以设置。
或者谁能给我一个这样的版本?
我正在寻找实现Tuple类的基本函数的解决方案,(Equals
, GetHashCode
)
不,正如前面提到的,Tuple<>
是不可变的。
如果我需要一个做同样事情的可变类型,我使用自定义Pair
类,尽管在拥抱函数概念的精神中,我尽量不使用它。
namespace StackOverflow.Helpers
{
public class Pair<T1, T2>
{
public T1 First { get; set; }
public T2 Second { get; set; }
}
}
由于GetHashCode
应该为相等的实例返回相同的哈希码,并且在构造后应该是不可变的,因此任何覆盖Equals和GetHashCode的通用元组实现都必须为包装项具有只读属性。
因此你不太可能找到你要找的东西。我不清楚为什么要同时使用可变性和Equals/GetHashCode重写,但是如果您这样做,并且了解其中的风险,您可能不得不自己使用。