.. index:: 
  !StringList Class

.. _id3_face_string_list_class:

===============================================================================
StringList Class
===============================================================================

Namespace: :ref:`id3.Face<reference_face>`

.. toctree::
  :hidden:

  add<add>
  clear<clear>
  count<count>
  get<get>
  getCount<get_count>
  removeAt<remove_at>
  resize<resize>
  set<set>


Definition
----------
.. line-block::
    Represents a list of strings.

.. tab-set::

    .. tab-item:: Python
      :sync: Python

      .. code:: Python

        class StringList

    .. tab-item:: Dart
      :sync: Dart

      .. code:: Dart

        class StringList implements Finalizable

    .. tab-item:: C#
      :sync: C#

      .. code:: C#

        public partial class StringList

    .. tab-item:: Java
      :sync: Java

      .. code:: Java

        public class StringList implements AutoCloseable, Serializable

    .. tab-item:: Swift
      :sync: Swift

      .. code:: Swift

        public class StringList

    .. tab-item:: C
      :sync: C

      .. code:: C

        typedef struct id3FaceStringList *ID3_FACE_STRING_LIST;



Usage
-----

.. tab-set::

    .. tab-item:: Python
      :sync: Python

      .. code:: Python

        stringListInstance = id3face.StringList()

      **Explicit destruction**

      .. code:: Python

        # ...
        del stringListInstance

    .. tab-item:: Dart
      :sync: Dart

      .. code:: Dart

        final stringListInstance = sdk.StringList();
        // ...

      **Explicit destruction**

      .. code:: Dart

        // ...
        stringListInstance.dispose()

    .. tab-item:: C#
      :sync: C#

      .. code:: C#

        using (var stringListInstance = new StringList())
        {
           // ...
        }

      **Explicit destruction**

      .. code:: C#

        var stringListInstance = new StringList()
        // ...
        stringListInstance.Dispose()

    .. tab-item:: Java
      :sync: Java

      .. code:: Java

        try (StringList stringListInstance = new StringList()) {
        // ...
        }

      **Explicit destruction**

      .. code:: Java

        StringList stringListInstance = new StringList();
        // ...
        stringListInstance.close();

    .. tab-item:: Swift
      :sync: Swift

      .. code:: Swift

        private var stringListInstance: StringList? = nil
        stringListInstance = try StringList()

    .. tab-item:: C
      :sync: C

      .. code:: C

        ID3_FACE_STRING_LIST hStringList{};
        int err = id3FaceStringList_Initialize(&hStringList);
        if (err == ID3_SUCCESS) {
            // ...
            id3FaceStringList_Dispose(&hStringList);
        }


Properties
----------

.. list-table:: 
  :width: 100%
  :widths: 30 5 65
  :header-rows: 1

  * - Name
    - Type
    - Description
  * - :ref:`count<id3_face_string_list_count_class_member>`
    - int
    - Gets the number of elements contained in the list
  * - operator [int index]
    - string
    - Gets or sets the element at the specified index in the list.

Iteration
---------

This class supports iteration in Dart, C#, Java and Python.


Methods
-------

.. list-table:: 
  :width: 100%
  :widths: 30 70
  :header-rows: 1

  * - Name
    - Description
  * - :ref:`add<id3_face_string_list_add_class_method>`
    - Adds an item to the StringList object.
  * - :ref:`clear<id3_face_string_list_clear_class_method>`
    - Clears the StringList object.
  * - :ref:`get<id3_face_string_list_get_class_method>`
    - Gets an item of the StringList object.
  * - :ref:`getCount<id3_face_string_list_get_count_class_method>`
    - Gets the number of elements in the StringList object.
  * - :ref:`removeAt<id3_face_string_list_remove_at_class_method>`
    - Removes an element of the StringList object.
  * - :ref:`resize<id3_face_string_list_resize_class_method>`
    - StringList object.
  * - :ref:`set<id3_face_string_list_set_class_method>`
    - Sets an item of the StringList object.
