ItemsプロパティがTuple
ではなく、設定できるクラス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をオーバーライドする汎用Tuple実装には、ラップされたアイテムの読み取り専用プロパティが必ずあります。
したがって、あなたが探しているものを見つける可能性は低いです。なぜ可変性とEquals/GetHashCodeオーバーライドの両方が必要なのかは明確ではありませんが、もしそれを理解し、リスクを理解するなら、おそらく自分でロールバックする必要があります。