Многозначный словарь

Просто создайте тип Pair и используйте c-sharp его как свое значение.

У меня c#-language есть пример в моем C# in Depth source code. Воспроизведено .cs-file здесь для простоты:

using System;
using System.Collections.Generic;

public sealed class Pair
    : IEquatable>
{
    private readonly TFirst first;
    private readonly TSecond second;

    public Pair(TFirst first, TSecond second)
    {
        this.first = first;
        this.second = second;
    }

    public TFirst First
    {
        get { return first; }
    }

    public TSecond Second
    {
        get { return second; }
    }

    public bool Equals(Pair other)
    {
        if (other == null)
        {
            return false;
        }
        return EqualityComparer.Default.Equals(this.First, other.First) &&
               EqualityComparer.Default.Equals(this.Second, other.Second);
    }

    public override bool Equals(object o)
    {
        return Equals(o as Pair);
    }

    public override int GetHashCode()
    {
        return EqualityComparer.Default.GetHashCode(first) * 37 +
               EqualityComparer.Default.GetHashCode(second);
    }
}

c#

2022-11-20T18:45:04+00:00