Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,220

Словарь с двойным ключем

31.12.2025, 15:16. Показов 653. Ответов 7

Студворк — интернет-сервис помощи студентам
где-то в туторе на ютьюбе мелькнула такая вот запись словаря:
C#
1
public readonly Dictionary<(string, int), Type> itemsDistonary = new();
но я не помню в каком.

не подскажите, что за ключ с двух типов в скобках? как этим пользоваться и для чего может понадобиться.
заранее благодарю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.12.2025, 15:16
Ответы с готовыми решениями:

Управление двойным свайпом
Хочу сделать так, чтобы при двойном свайпе вверх объект передвигался вперёд, а при двойном свайпе...

Поиск в словаре по ключу из листа enum
Привет! Что то я не пойму как это работает: private Dictionary&lt;List&lt;ElementType&gt;,...

Двойной тач
Как реализовать разное управление при таче двумя пальцами. Первый - щипок, второй -...

7
Модератор
Эксперт Java
 Аватар для alecss131
2857 / 1364 / 408
Регистрация: 11.08.2017
Сообщений: 4,369
Записей в блоге: 2
31.12.2025, 15:48
Цитата Сообщение от Gammister Посмотреть сообщение
что за ключ с двух типов в скобках?
Это кортеж в качестве ключа
1
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,220
31.12.2025, 16:53  [ТС]
спасибо
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6210 / 2907 / 1044
Регистрация: 01.06.2021
Сообщений: 10,720
01.01.2026, 14:12
Цитата Сообщение от Gammister Посмотреть сообщение
как этим пользоваться и для чего может понадобиться

можно, например, хранить игровые объекты по координатной сетке
C#
1
Dictionary<(int, int), GameObject> gridCells = new();
и потом писать
C#
1
gridCells[(1, 5)] = wallObject;
или хранить локализированный текст
C#
1
2
3
Dictionary<(string, int), string> localizedText = new();
localizedText[("greeting", 0)] = "Hello";
localizedText[("greeting", 1)] = "Привет";
для системы крафта
C#
1
2
Dictionary<(string, string), GameObject> craftingRecipes = new();
craftingRecipes[("horse", "human")] = centaurPrefab;
либо первый элемент ключа может означать тип, а второй элемент подтип.
1
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,220
01.01.2026, 16:41  [ТС]
благодарю. полезная штука, и почему-то довольно редко встречается. странно.
0
Модератор
Эксперт Java
 Аватар для alecss131
2857 / 1364 / 408
Регистрация: 11.08.2017
Сообщений: 4,369
Записей в блоге: 2
02.01.2026, 11:28
Цитата Сообщение от Gammister Посмотреть сообщение
почему-то довольно редко встречается
Это стандартная возможность языка, думаю если подучить сам язык, найдутся еще похожие вещи. Тут использование подобных штук уже зависит от уровня программиста.
Кортежи могут содержать не только 2 значения, а больше/меньше и их элементы можно именовывать. По сути, грубо говоря, кортеж это анонимная структура без методов.
1
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,898
Записей в блоге: 2
02.01.2026, 23:29
Цитата Сообщение от Gammister Посмотреть сообщение
почему-то довольно редко встречается. странно.
Потому что вторые ключи сравниваются только если первые равны, а таких случаев не так уж много
1
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,220
03.01.2026, 13:49  [ТС]
спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.01.2026, 13:49
Помогаю со студенческими работами здесь

Двойной прижок
Как сделать двойной прижок:? ПРобивал так... НЕ получается using UnityEngine; using...

Двойной урон
При попадании, наноситься двойной урон. Метод ApplyDamage почему-то вызывается два раза. P.S....

Двойной и не полный прыжок на Unity C#
Можно ли на unity сделать одновременно и двойной прыжок, и что-бы при зажатии клавиши можно было...

Двойной клик. Как проверить?
Здравствуйте, я примерно представляю себе как сделать дабл клик, чисто теоретически: Проверить...

Как сделать двойной прыжок?
Я пытаюсь создать двойной прыжок + прыжок по времени нажатия кнопки. Двойной прыжок должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru