Re: Dictionary<X, Dictionary<Y, Z>>
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 19.10.15 07:53
Оценка:
Здравствуйте, _NN_, Вы писали:

Вместо двух словарей проще использовать один с составным ключом. Редко пеишу на C# но что типа такого

public struct MyStruct<X,Y>
    {
        public X СвойствоX;
        public Y СвойствоY;

        
        public MyStruct(X СвойствоX, Y СвойствоY)
            {
            this.СвойствоX = СвойствоX;
            this.СвойствоY = СвойствоY;
        }
        public override int GetHashCode()
        {
            //Упростим задачу и сделаем по простому
            string str= Convert.ToBase64String(BitConverter.GetBytes(СвойствоX.GetHashCode()))+ Convert.ToBase64String(BitConverter.GetBytes(СвойствоY.GetHashCode()));
            return str.GetHashCode();
        }

//Можно взять из Tuple

//internal static int CombineHashCodes(int h1, int h2)
//{
//    return (h1 << 5) + h1 ^ h2;
//}
        public override bool Equals(object obj)
        {
            if (obj.GetType()!= GetType()) return false;

            var Объект = (MyStruct<X, Y>)obj;
            return СвойствоX.Equals(Объект.СвойствоX) && СвойствоY.Equals(Объект.СвойствоY);
        }
    }
и солнце б утром не вставало, когда бы не было меня
Отредактировано 19.10.2015 8:26 Serginio1 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.