#include <xtd/xtd>
class example {
public:
static auto main() -> void {
my_ordered_dictionary.add("test_key1", "test_value1");
my_ordered_dictionary.add("test_key2", "test_value2");
my_ordered_dictionary.add("key_to_delete", "value_to_delete");
my_ordered_dictionary.add("test_key3", "test_value3");
display_contents(my_ordered_dictionary.keys(), my_ordered_dictionary.values(), my_ordered_dictionary.count());
if (!as<xtd::collections::idictionary>(my_ordered_dictionary).is_read_only()) {
my_ordered_dictionary.insert(0, "inserted_key", "inserted_value1");
my_ordered_dictionary["test_key2"] = "modified_value";
my_ordered_dictionary.remove_at(my_ordered_dictionary.count() - 1);
if (my_ordered_dictionary.contains_key("key_to_delete"))
my_ordered_dictionary.remove("key_to_delete");
}
console::write_line("{0}Displaying the entries of a modified ordered_dictionary.", environment::new_line());
display_contents(my_ordered_dictionary.keys(), my_ordered_dictionary.values(), my_ordered_dictionary.count());
my_ordered_dictionary.clear();
my_ordered_dictionary.add("new_key1", "new_value1");
my_ordered_dictionary.add("new_key2", "new_value2");
my_ordered_dictionary.add("new_key3", "new_value3");
auto my_enumerator = my_ordered_dictionary.get_enumerator();
console::write_line("{0}Displaying the entries of a \"new\" ordered_dictionary.", environment::new_line());
display_enumerator(my_enumerator);
}
template<class key_t, class value_t>
static void display_contents(const icollection<key_t>& key_collection, const icollection<value_t>& value_collection, size dictionary_size) {
auto my_keys = array<any_object>(dictionary_size);
auto my_values = array<any_object>(dictionary_size);
key_collection.copy_to(my_keys, 0);
value_collection.copy_to(my_values, 0);
console::write_line(" INDEX KEY VALUE");
for (auto i = 0_z; i < dictionary_size; ++i)
console::write_line(" {0,-5} {1,-25} {2}", i, my_keys[i], my_values[i]);
console::write_line();
}
static void display_enumerator(enumerator<xtd::collections::dictionary_entry>& my_enumerator) {
console::write_line(" KEY VALUE");
while (my_enumerator.move_next())
console::write_line(" {0,-25} {1}", my_enumerator.current().key(), my_enumerator.current().value());
}
};
#define startup_(main_method)
Defines the entry point to be called when the application loads. Generally this is set either to the ...
Definition startup.hpp:168
xtd::collections::generic::ordered_dictionary< xtd::any_object, xtd::any_object > ordered_dictionary
Represents a collection of key/value pairs that are accessible by the key or index.
Definition ordered_dictionary.hpp:28