dictionary.EnsureCapacity

辞書の容量を指定した値以上に拡張します


taiseiue | 2025-01-08

定義

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

EnsureCapacity(number)

辞書の容量を指定した値以上に拡張します

AliceScript
class Alice.Dictionary;
public number EnsureCapacity(number capacity);
引数
capacity 辞書の最低容量。この値は正の整数で、\(2,147,483,647\)以上である必要があります。
戻り値
number 辞書の新しい容量

対応
AliceScript 4
AliceSister 該当なし
Losetta 0.11

この関数はAliceSisterでは実装されていません。

実装されていない環境では0x034 NOT_IMPLEMENTED例外がスローされます。

説明

このメソッドは、辞書の容量が、指定した値以上であることを確認します。容量が指定値に満たない場合は拡張を行い、指定値以上の場合は何もしません。このため、すでに指定した値以上の容量が辞書にある場合など、状況によってはcapacityと戻り値の値は異なる可能性があります。辞書の容量を指定した値に設定するには、TrimExcessメソッドを使用してください。

容量の拡張が必要な場合、このメソッドは現在の容量と新しく指定したcapacityの値の和を格納できるだけのメモリを確保します。このため、このメソッドの操作は負荷の大きな作業です。このメソッドは、辞書に項目を繰り返し追加し、その数がわかっているときに使用できます。

以下は、辞書の容量を5に拡張します。

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

dict.EnsureCapacity(5);