dictionary.TryAdd

辞書への新しいキーと値のペアの追加を試みます


taiseiue | 2025-01-08

定義

名前空間: Alice
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Core.Dictionary.cs

TryAdd(variable,variable)

キーと値を指定して、辞書への新しい項目の追加を試みます

AliceScript
class Alice.Dictionary;
public bool TryAdd(variable key, variable value);
引数
key 辞書に新たに追加する項目のキー
value 辞書に新たに追加する項目の値
戻り値
bool 辞書に項目を追加できた場合はtrue、追加できなかった場合はfalse

対応
AliceScript 4
AliceSister 4
Losetta 0.11

TryAdd(KeyValuePair)

キーと値のペアを指定して、辞書への新しい項目の追加を試みます

AliceScript
class Alice.Dictionary;
public bool TryAdd(KeyValuePair keyValuePair);
引数
keyValuePair 辞書に新たに追加する項目のキーと値を表すKeyValuePair型のオブジェクト
戻り値
bool 辞書に項目を追加できた場合はtrue、追加できなかった場合はfalse

対応
AliceScript 4
AliceSister 4
Losetta 0.11

説明

このメソッドは、辞書への項目の追加を試みます。

このメソッドはAddメソッドとは異なり、追加しようとした項目のキーがすでに辞書に存在する場合、このメソッドはfalseを返します。

辞書の要素数がその辞書の容量より小さい場合、このメソッドの操作にかかる計算量は\(O(1)\)に近づきます。

辞書に項目を追加するとき、辞書の要素数がその辞書の容量と等しい場合、辞書に項目を追加する前に現在の容量の2倍の領域が確保され、現在の辞書はそこにコピーされます。このような場合では、このメソッドは\(O(n)\)操作となります。ここで\(n\)は、Countプロパティの値です。

以下は、辞書にthreeという文字列のとき3という値を追加します。

AliceScript
dictionary dict = { 
    "one": 1,
    "two": 2
};

if(dict.TryAdd("three", 3))
{
    print("three can append dictionary.");
}