Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

IList (Interfaz)

 

Representa una colección de objetos no genéricos a los que se puede obtener acceso por índice.

Espacio de nombres:   System.Collections
Ensamblado:  mscorlib (en mscorlib.dll)

[ComVisibleAttribute(true)]
public interface IList : ICollection, IEnumerable

NombreDescripción
System_CAPS_pubpropertyCount

Obtiene el número de elementos incluidos en ICollection.(Heredado de ICollection.)

System_CAPS_pubpropertyIsFixedSize

Obtiene un valor que indica si la interfaz IList tiene un tamaño fijo.

System_CAPS_pubpropertyIsReadOnly

Obtiene un valor que indica si IList es de sólo lectura.

System_CAPS_pubpropertyIsSynchronized

Obtiene un valor que indica si el acceso a la interfaz ICollection está sincronizado (es seguro para subprocesos).(Heredado de ICollection.)

System_CAPS_pubpropertyItem[Int32]

Obtiene o establece el elemento que se encuentra en el índice especificado.

System_CAPS_pubpropertySyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a ICollection.(Heredado de ICollection.)

NombreDescripción
System_CAPS_pubmethodAdd(Object)

Agrega un elemento al objeto IList.

System_CAPS_pubmethodClear()

Quita todos los elementos de IList.

System_CAPS_pubmethodContains(Object)

Determina si la interfaz IList contiene un valor específico.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copia los elementos de la interfaz ICollection en un objeto Array, a partir de un índice determinado de la clase Array.(Heredado de ICollection.)

System_CAPS_pubmethodGetEnumerator()

Devuelve un enumerador que recorre en iteración una colección.(Heredado de IEnumerable.)

System_CAPS_pubmethodIndexOf(Object)

Determina el índice de un elemento específico en la interfaz IList.

System_CAPS_pubmethodInsert(Int32, Object)

Inserta un elemento en la interfaz IList, en el índice especificado.

System_CAPS_pubmethodRemove(Object)

Quita la primera aparición de un objeto específico de la interfaz IList.

System_CAPS_pubmethodRemoveAt(Int32)

Quita el elemento de IList en el índice especificado.

NombreDescripción
System_CAPS_pubmethodAsParallel()

Sobrecargado. Habilita la paralelización de una consulta.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sobrecargado. Convierte una interfaz IEnumerable en IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Convierte los elementos de IEnumerable en el tipo especificado.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra los elementos de IEnumerable en función de un tipo especificado.(Defined by Enumerable.)

IList es una descendiente de la interfaz ICollection y es la interfaz base de todas las listas no genéricas.Las implementaciones de IList se dividen en tres categorías: de solo lectura, de tamaño fijo y de tamaño variable.Una interfaz IList de sólo lectura no se puede modificar.Una interfaz IList de tamaño fijo no permite agregar o eliminar elementos, pero sí modificar elementos existentes.Una interfaz IList de tamaño variable permite agregar, quitar y modificar elementos.

Para obtener la versión genérica de esta interfaz, vea System.Collections.Generic.IList<T>.

En el ejemplo siguiente, se muestra la implementación de la interfaz IList para crear una lista simple, lista de tamaño fijo.

using System;
using System.Collections;

class Program
{
    static void Main()
    {
        SimpleList test = new SimpleList();

        // Populate the List
        Console.WriteLine("Populate the List");
        test.Add("one");
        test.Add("two");
        test.Add("three");
        test.Add("four");
        test.Add("five");
        test.Add("six");
        test.Add("seven");
        test.Add("eight");
        test.PrintContents();
        Console.WriteLine();

        // Remove elements from the list
        Console.WriteLine("Remove elements from the list");
        test.Remove("six");
        test.Remove("eight");
        test.PrintContents();
        Console.WriteLine();

        // Add an element to the end of the list
        Console.WriteLine("Add an element to the end of the list");
        test.Add("nine");
        test.PrintContents();
        Console.WriteLine();

        // Insert an element into the middle of the list
        Console.WriteLine("Insert an element into the middle of the list");
        test.Insert(4, "number");
        test.PrintContents();
        Console.WriteLine();

        // Check for specific elements in the list
        Console.WriteLine("Check for specific elements in the list");
        Console.WriteLine("List contains \"three\": {0}", test.Contains("three"));
        Console.WriteLine("List contains \"ten\": {0}", test.Contains("ten"));
    }
} // class Program

class SimpleList : IList
{
    private object[] _contents = new object[8];
    private int _count;

    public SimpleList()
    {
        _count = 0;
    }

    // IList Members
    public int Add(object value)
    {
        if (_count < _contents.Length)
        {
            _contents[_count] = value;
            _count++;

            return (_count - 1);
        }
        else
        {
            return -1;
        }
    }

    public void Clear()
    {
        _count = 0;
    }

    public bool Contains(object value)
    {
        bool inList = false;
        for (int i = 0; i < Count; i++)
        {
            if (_contents[i] == value)
            {
                inList = true;
                break;
            }
        }
        return inList;
    }

    public int IndexOf(object value)
    {
        int itemIndex = -1;
        for (int i = 0; i < Count; i++)
        {
            if (_contents[i] == value)
            {
                itemIndex = i;
                break;
            }
        }
        return itemIndex;
    }

    public void Insert(int index, object value)
    {
        if ((_count + 1 <= _contents.Length) && (index < Count) && (index >= 0))
        {
            _count++;

            for (int i = Count - 1; i > index; i--)
            {
                _contents[i] = _contents[i - 1];
            }
            _contents[index] = value;
        }
    }

    public bool IsFixedSize
    {
        get
        {
            return true;
        }
    }

    public bool IsReadOnly
    {
        get
        {
            return false;
        }
    }

    public void Remove(object value)
    {
        RemoveAt(IndexOf(value));
    }

    public void RemoveAt(int index)
    {
        if ((index >= 0) && (index < Count))
        {
            for (int i = index; i < Count - 1; i++)
            {
                _contents[i] = _contents[i + 1];
            }
            _count--;
        }
    }

    public object this[int index]
    {
        get
        {
            return _contents[index];
        }
        set
        {
            _contents[index] = value;
        }
    }

    // ICollection Members

    public void CopyTo(Array array, int index)
    {
        int j = index;
        for (int i = 0; i < Count; i++)
        {
            array.SetValue(_contents[i], j);
            j++;
        }
    }

    public int Count
    {
        get
        {
            return _count;
        }
    }

    public bool IsSynchronized
    {
        get
        {
            return false;
        }
    }

    // Return the current instance since the underlying store is not
    // publicly available.
    public object SyncRoot
    {
        get
        {
            return this;
        }
    }

    // IEnumerable Members

    public IEnumerator GetEnumerator()
    {
        // Refer to the IEnumerator documentation for an example of
        // implementing an enumerator.
        throw new Exception("The method or operation is not implemented.");
    }

    public void PrintContents()
    {
        Console.WriteLine("List has a capacity of {0} and currently has {1} elements.", _contents.Length, _count);
        Console.Write("List contents:");
        for (int i = 0; i < Count; i++)
        {
            Console.Write(" {0}", _contents[i]);
        }
        Console.WriteLine();
    }
}

// This code produces output similar to the following:
// Populate the List:
// List has a capacity of 8 and currently has 8 elements.
// List contents: one two three four five six seven eight
//
// Remove elements from the list:
// List has a capacity of 8 and currently has 6 elements.
// List contents: one two three four five seven
//
// Add an element to the end of the list:
// List has a capacity of 8 and currently has 7 elements.
// List contents: one two three four five seven nine
//
// Insert an element into the middle of the list:
// List has a capacity of 8 and currently has 8 elements.
// List contents: one two three four number five seven nine
//
// Check for specific elements in the list:
// List contains "three": True
// List contains "ten": False

Universal Windows Platform
Disponible desde 4.5
.NET Framework
Disponible desde 1.1
Portable Class Library
Compatible con: portable .NET platforms
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: