Toggle menu
862
3.8K
30.2K
279.1K
Catglobe Wiki
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Dictionary



The dictionary object

Parent class

Inherits from object

Constructors

  • () - Create a new dictionary with non-argument.
  • (params AnyType) - Create new dictionary with the specified key-value pairs.
  • (array keys "keys arrayConstant", array values "values arrayConstant") - Create new dictionary with the specified keys and values.

Methods

  • bool Add(string key "Add with specific key", object value "Add with specific value") - Adds the specified key and value to the dictionary. Return false if there is an item with the same key has already been added.
  • bool Add(int key "Add with specific key", object value "Add with specific value") - Adds the specified key and value to the dictionary.
  • Empty Add(Dictionary src "Source of keys and values to add") - Adds the all keys and values from src to current.
  • Empty Clear() - Remove all keys and values from the dictionary.
  • bool ContainsKey(string key "Check with specific key") - Determines whether the dictionary contains the specified key.
  • bool ContainsKey(int key "Check with specific key") - Determines whether the dictionary contains the specified key.
  • bool ContainsValue(object value "Add with specific value") - Determines whether the dictionary contains the specified value.
  • Empty Foreach(Function function "A function that takes 2 parameters, the key and the value") - Run a function for each element.
  • object this[] { get; }(string key "The key used to lookup the value.") - Get an item based on a key.
  • object this[] { get; }(int key "The key used to lookup the value.") - Get an item based on a key.
  • Empty Inc(string key "Increase the specific keys value") - Increase the value of a value for the given key by 1, creating the entry at 1 if doesnt exists.
  • array KeysWhere(Function predicate "A function that takes 2 parameters, the key and the value, and return true/false") - Filters keys based on a predicate.
  • object Remove(string key "Check with specific key") - Remove the value with the specified key from the dictionary.
  • object Remove(int key "Remove with specific key") - Remove the value with the specified key from the dictionary.
  • array Select(Function function "A function that takes 2 parameters, the key and the value, and return some value") - Run a function for each element and make array of return values.
  • Empty this[] { set; }(string key "The key used to lookup the value.", object value "The value to set.") - Set an item based on a key and a value.
  • Empty this[] { set; }(int key "The key used to lookup the value.", object value "The value to set.") - Set an item based on a key and a value.
  • string ToString() - The string representation of the object.
  • object TryGetValue(string key "Remove with specific key") - Gets the value associated with the specified key.
  • object TryGetValue(int key "Remove with specific key") - Gets the value associated with the specified key.
  • array ValuesWhere(Function predicate "A function that takes 2 parameters, the key and the value, and return true/false") - Filters values based on a predicate.

Properties

  • int Count { get; } - Gets the number of key/value pairs contained in the dictionary.
  • array Keys { get; } - Gets a list of keys.
  • string ObjectTypeName { get; } - The name of the type of object.
  • array SortedKeys { get; } - Gets a list of keys sorted by current collation.
  • (From object) TypeInformation TypeInformation { get; } - Get information about this class.
  • array Values { get; } - Gets a list of values.

Examples

Dictionary d;
print(d); // {}


Dictionary d = new Dictionary();
print(d);  // {}


Dictionary d = {"key1": 1, "key2": 2};
print(d);   // {"key1": 1, "key2": 2}


Dictionary d = {};             // Not work, will cause error.


Dictionary d1 = new Dictionary("key_01","value01");
print(d1);                                                                      // {"key_01": sdasd}
print(d1.Add("key_02",2222));
print(d1.Add(3,"hello3333"));
print(d1.Add("key_03",{"happy",48,{"funny","sad",88}}));
print(d1);                               //          {"3": hello3333, "key_01": value01, "key_02": 2222, "key_03": {happy,48,{funny,sad,88}}}
print(d1.ContainsKey("key_01"));                                                // true
print(d1.ContainsKey(3));                                                       // true
print(d1.ContainsKey("noexist"));                                               // false
print(d1.ContainsValue("value01"));                                             // true
print(d1.ContainsValue(2222));                                                  // true
print(d1.ContainsValue({"happy",48,{"funny","sad",88}}));                       // true
print(d1.get_Item("key_01"));                                                   // value01
print(d1.get_Item(3));                                                          // hello3333
print(d1.set_Item("key01",1111));     
print(d1.set_Item(3,{3333,"string333"}));
print(d1.TryGetValue("key_01"));                                                // value01
print(d1.TryGetValue(3));                                                       // {3333,"string333"}
print(d1);                              //     {"3": {3333,string333}, "key_01": value01, "key_02": 2222, "key_03": {happy,48,{funny,sad,88}}, "key01": 1111}
print(d1.Count);                                                                // 5
print(d1.Keys);                                                                 // {key_01,key_02,3,key_03,key01}
print(d1.Values);                                                               // {value01,2222,{3333,string333},{happy,48,{funny,sad,88}},1111}
print(d1.Remove("key_01"));                                                     // value01
print(d1.Remove(3));                                                            // {3333,string333}
print(d1);                                                                      // {"key_02": 2222, "key_03": {happy,48,{funny,sad,88}}, "key01": 1111}


Dictionary d = {
  "key01": "value01",
  5: "value05"
}; 
print(d["key01"]);       // another way to get the values of keys
print(d[5]);             // another way to get the values of keys


//Example for using d.Inc("key") to increase value of the key up to 1, if the key not exist, create the key with value 1
Dictionary d = {"key1": 1, "key2": 2};
d.Inc("key2");// key2 existed, so increate value of key2 to 1 (2->3)
print(d);//{"key1": 1, "key2": 3}
d.Inc("key3");// key3 not exist, so add key3 to d with value 1
print(d);//"key1": 1, "key2": 3, "key3": 1}
//Use KeysWhere/ValuesWhere to get list of keys/values meet filter
Dictionary d = {"key1":1,"key2":2,"key3":3,"key4":4};
//KeysWhere
d.KeysWhere(function(string key, number value ){if (value >= 3) return true;});// result: {key3,key4}
//ValuesWhere
d.ValuesWhere(function(string key, number value ){if (value >= 3) return true;});// result: {3,4}