reckfellENGINE

Reckfell.Collections.Dictionary

Словарь Variant для C#: ключи, количество и копирование.

На этой странице
class Reckfell.Collections.DictionaryReckfellSharp

Класс C# из Reckfell.Collections, оборачивающий словарь Variant-ключей и Variant-значений движка. Не является System.Collections.Generic.Dictionary<TKey, TValue>; типизированная обёртка движка называется Reckfell.Collections.Dictionary<TKey, TValue>.

Присваивание копирует ссылку. Duplicate() создаёт отдельный верхний словарь; параметр deep определяет копирование вложенных массивов и словарей и не означает автоматическое клонирование всех объектов движка.

В C# словарь не имеет логического значения. Проверяйте Count == 0 или Count > 0, а отсутствие ссылки — через is null. Непустой словарь не подтверждает наличие конкретного ключа: проверяйте его отдельно.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

DictionaryКонструктор
# Dictionary
C#
public Dictionary();

Возвращает тот же словарь, что и from. Если вам нужна копия словаря, используйте Reckfell.Collections.Dictionary.Duplicate.

Свойства5

CountСвойство
# Count
C#
public int Count { get; }

Возвращает количество элементов Reckfell.Collections.Dictionary. Это также называется размером или длиной словаря.

IsReadOnlyСвойство
# IsReadOnly
C#
public bool IsReadOnly { get; }

Возвращает true, если словарь доступен только для чтения. См. Reckfell.Collections.Dictionary.MakeReadOnly. Словари автоматически доступны только для чтения, если объявлены с ключевым словом const.

ItemСвойство
# Item
C#
public Variant this[Variant key] { get; set; }

Читает значение существующего ключа или задаёт значение ключа. При чтении отсутствующего ключа выбрасывает KeyNotFoundException; для проверки наличия используйте TryGetValue. Nil-значение существующего ключа отличается от отсутствия.

KeysСвойство
# Keys
C#
public System.Collections.Generic.ICollection<Variant> Keys { get; }

Возвращает список ключей в словаре.

ValuesСвойство
# Values
C#
public System.Collections.Generic.ICollection<Variant> Values { get; }

Возвращает список значений в этом словаре.

Методы13

Addvoid
# Add
C#
public void Add(Variant key, Variant value);

Добавить значение value ключ key к этому Reckfell.Collections.Dictionary.

Параметры
ИмяТипПо умолчанию
keyVariant—
valueVariant—
key

Ключ, с помощью которого можно повысить ценность.

value

Цена, которую можно добавить.

Clearvoid
# Clear
C#
public void Clear();

Очищает словарь, удаляя из него все записи.

ContainsKeybool
# ContainsKey
C#
public bool ContainsKey(Variant key);

Проверяет, если это Reckfell.Collections.Dictionary содержит указанный ключ.

Параметры
ИмяТипПо умолчанию
keyVariant—
key

Ключ, который нужно искать.

Возвращает bool

Содержит ли этот словарь данный ключ или нет.

Dispose2 перегрузки
# Dispose · 1/2
C#
public void Dispose();

Исключает это Reckfell.Collections.Dictionary.

# Dispose · 2/2
C#
public void Dispose(bool disposing);
Параметры
ИмяТипПо умолчанию
disposingbool—
DuplicateReckfell.Collections.Dictionary
# Duplicate
C#
public Reckfell.Collections.Dictionary Duplicate(bool deep = false);

Возвращает новую копию словаря. По умолчанию возвращается поверхностная копия: все вложенные ключи и значения Reckfell.Collections.Array, Reckfell.Collections.Dictionary и Resource используются совместно с исходным словарем. Изменение любого из них в одном словаре также повлияет на них в другом. Если deep равен true, возвращается глубокая копия: все вложенные массивы и словари также дублируются (рекурсивно). Однако любой Resource по-прежнему используется совместно с исходным словарем.

Параметры
ИмяТипПо умолчанию
deepboolfalse
deep

Если true, выполняет глубокую копию.

Возвращает Reckfell.Collections.Dictionary

Новый Reckfell Словарь.

GetEnumeratorSystem.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<Variant, Variant>>
# GetEnumerator
C#
public System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<Variant, Variant>> GetEnumerator();

Получает счетчик для этого Reckfell.Collections.Dictionary.

Возвращает System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<Variant, Variant>>

Счетчик.

MakeReadOnlyvoid
# MakeReadOnly
C#
public void MakeReadOnly();

Делает словарь доступным только для чтения, т. е. отключает возможность изменения содержимого словаря. Не применяется к вложенному содержимому, например, содержимому вложенных словарей.

Mergevoid
# Merge
C#
public void Merge(Reckfell.Collections.Dictionary dictionary, bool overwrite = false);

Добавляет записи из dictionary в этот словарь. По умолчанию дублирующиеся ключи не копируются, если только overwrite не равен true.

C#
var dict = new Reckfell.Collections.Dictionary
{
    ["item"] = "sword",
    ["quantity"] = 2,
};

var otherDict = new Reckfell.Collections.Dictionary
{
    ["quantity"] = 15,
    ["color"] = "silver",
};

// Overwriting of existing keys is disabled by default.
dict.Merge(otherDict);
ReckfellApi.Print(dict); // { "item": "sword", "quantity": 2, "color": "silver" }

// With overwriting of existing keys enabled.
dict.Merge(otherDict, true);
ReckfellApi.Print(dict); // { "item": "sword", "quantity": 15, "color": "silver" }

Примечание: Reckfell.Collections.Dictionary.Merge не рекурсивен. Вложенные словари рассматриваются как ключи, которые могут быть перезаписаны или нет в зависимости от значения overwrite, но они никогда не будут объединены вместе.

Параметры
ИмяТипПо умолчанию
dictionaryReckfell.Collections.Dictionary—
overwriteboolfalse
dictionary

Словарь для копирования записей из.

overwrite

Если дубликат ключей также должен быть скопирован.

RecursiveEqualbool
# RecursiveEqual
C#
public bool RecursiveEqual(Reckfell.Collections.Dictionary other);

Возвращает true, если два словаря содержат одинаковые ключи и значения, внутренние ключи и значения Reckfell.Collections.Dictionary и Reckfell.Collections.Array сравниваются рекурсивно.

Параметры
ИмяТипПо умолчанию
otherReckfell.Collections.Dictionary—
other

Другой словарь для сравнения.

Возвращает bool

true если словари содержат одни и те же ключи и ценности, false иначе.

Removebool
# Remove
C#
public bool Remove(Variant key);

Удалить элемент из этого Reckfell.Collections.Dictionary По ключу.

Параметры
ИмяТипПо умолчанию
keyVariant—
key

Ключ к элементу, который нужно удалить.

Возвращает bool
ToStringstring
# ToString
C#
public override string ToString();

Преобразует это Reckfell.Collections.Dictionary к а string.

Возвращает string

A string представление этого словаря.

TryGetValuebool
# TryGetValue
C#
public bool TryGetValue(Variant key, out Variant value);

Проверяет наличие ключа и возвращает его значение без исключения из-за отсутствия. True с Nil означает существующий ключ; false означает отсутствующий ключ и выходной Variant по умолчанию.

Параметры
ИмяТипПо умолчанию
keyVariant—
valueVariant—
key

Ключ для поиска по правилам сравнения ключей Dictionary.

value

При успехе — значение ключа, включая Nil; при отсутствии — Variant по умолчанию. Контейнер внутри значения может быть общим.

Возвращает bool

True, если ключ существует, независимо от метки его значения.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.