/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.Core/Utilities/HashUtility.cs
83 строки
2 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
namespace Unity.VisualScripting { public static class HashUtility { public static int GetHashCode<T>(T a) { return a?.GetHashCode() ?? 0; } public static int GetHashCode<T1, T2>(T1 a, T2 b) { unchecked { var hash = 17; hash = hash * 23 + (a?.GetHashCode() ?? 0); hash = hash * 23 + (b?.GetHashCode() ?? 0); return hash; } } public static int GetHashCode<T1, T2, T3>(T1 a, T2 b, T3 c) { unchecked { var hash = 17; hash = hash * 23 + (a?.GetHashCode() ?? 0); hash = hash * 23 + (b?.GetHashCode() ?? 0); hash = hash * 23 + (c?.GetHashCode() ?? 0); return hash; } } public static int GetHashCode<T1, T2, T3, T4>(T1 a, T2 b, T3 c, T4 d) { unchecked { var hash = 17; hash = hash * 23 + (a?.GetHashCode() ?? 0); hash = hash * 23 + (b?.GetHashCode() ?? 0); hash = hash * 23 + (c?.GetHashCode() ?? 0); hash = hash * 23 + (d?.GetHashCode() ?? 0); return hash; } } public static int GetHashCode<T1, T2, T3, T4, T5>(T1 a, T2 b, T3 c, T4 d, T5 e) { unchecked { var hash = 17; hash = hash * 23 + (a?.GetHashCode() ?? 0); hash = hash * 23 + (b?.GetHashCode() ?? 0); hash = hash * 23 + (c?.GetHashCode() ?? 0); hash = hash * 23 + (d?.GetHashCode() ?? 0); hash = hash * 23 + (e?.GetHashCode() ?? 0); return hash; } } public static int GetHashCodeAlloc(params object[] values) { unchecked { var hash = 17; foreach (var value in values) { hash = hash * 23 + (value?.GetHashCode() ?? 0); } return hash; } } } }