# SerializedDictionary

Class in [Yarn.Unity](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity)

Inherits from `IDictionary`2\`

## Summary

An `IDictionary<TKey,TValue>` that can be serialized as part of a Unity object.

```csharp
public class SerializedDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ISerializationCallbackReceiver
```

## Remarks

Prior to Unity 2020, dictionaries cannot be directly serialized by Unity. This class is a workaround; it provides an API identical to `Dictionary<TKey, TValue>` , and stores its contents as two `List<T>` s: one for `TKey` , and one for `TValue` .

## Type Parameters

| Name   | Description                               |
| ------ | ----------------------------------------- |
| TKey   | The type of key used in the dictionary.   |
| TValue | The type of value used in the dictionary. |

## Indexers

| Name                                                                                                                                            | Description |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [this\[TKey key\]](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.this) |             |

## Methods

| Name                                                                                                                                                                         | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [Add(TKey,TValue)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.add-1)                             |             |
| [Add(KeyValuePair\<TKey, TValue>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.add-2)             |             |
| [Clear()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.clear)                                      |             |
| [Contains(KeyValuePair\<TKey, TValue>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.contains)     |             |
| [ContainsKey(TKey)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.containskey)                      |             |
| [CopyTo(KeyValuePair\<TKey, TValue>\[\],int)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.copyto) |             |
| [GetEnumerator()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.getenumerator)                      |             |
| [Remove(TKey)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.remove-1)                              |             |
| [Remove(KeyValuePair\<TKey, TValue>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.remove-2)       |             |
| [TryGetValue(TKey,TValue)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.trygetvalue)               |             |

## Properties

| Name                                                                                                                                            | Description |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [Count](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.count)           |             |
| [IsReadOnly](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.isreadonly) |             |
| [Keys](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.keys)             |             |
| [Values](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.serializeddictionary/yarn.unity.serializeddictionary.values)         |             |
