Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Interface IList

 

Representa uma coleção não genérica de objetos que podem ser acessados separadamente por índice.

Namespace:   System.Collections
Assembly:  mscorlib (em mscorlib.dll)

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

NomeDescrição
System_CAPS_pubpropertyCount

Obtém o número de elementos contidos no ICollection.(Herdado de ICollection.)

System_CAPS_pubpropertyIsFixedSize

Obtém um valor que indica se o IList tem um tamanho fixo.

System_CAPS_pubpropertyIsReadOnly

Obtém um valor que indica se o IList é somente leitura.

System_CAPS_pubpropertyIsSynchronized

Obtém um valor que indica se o acesso para o ICollection é sincronizado (thread-safe).(Herdado de ICollection.)

System_CAPS_pubpropertyItem[Int32]

Obtém ou define o elemento no índice especificado.

System_CAPS_pubpropertySyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso ao ICollection.(Herdado de ICollection.)

NomeDescrição
System_CAPS_pubmethodAdd(Object)

Adiciona um item ao IList.

System_CAPS_pubmethodClear()

Remove todos os itens do IList.

System_CAPS_pubmethodContains(Object)

Determina se o IList contém um valor específico.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copia os elementos do ICollection para um Array, começando em um determinado índice Array.(Herdado de ICollection.)

System_CAPS_pubmethodGetEnumerator()

Retorna um enumerador que itera por uma coleção. (Herdado de IEnumerable.)

System_CAPS_pubmethodIndexOf(Object)

Determina o índice de um item específico na IList.

System_CAPS_pubmethodInsert(Int32, Object)

Insere um item para o IList no índice especificado.

System_CAPS_pubmethodRemove(Object)

Remove a primeira ocorrência de um objeto específico do IList.

System_CAPS_pubmethodRemoveAt(Int32)

Remove o IList item no índice especificado.

NomeDescrição
System_CAPS_pubmethodAsParallel()

Sobrecarregado. Permite a paralelização de uma consulta. (Definido pelo ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sobrecarregado. Converte um IEnumerable em um IQueryable.(Definido pelo Queryable.)

System_CAPS_pubmethodCast<TResult>()

Converte os elementos de um IEnumerable para o tipo especificado.(Definido pelo Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra os elementos de um IEnumerable com base em um tipo especificado.(Definido pelo Enumerable.)

IList is a descendant of the ICollection interface and is the base interface of all non-generic lists. IList implementations fall into three categories: read-only, fixed-size, and variable-size. A read-only IList cannot be modified. A fixed-size IList does not allow the addition or removal of elements, but it allows the modification of existing elements. A variable-size IList allows the addition, removal, and modification of elements.

For the generic version of this interface, see T:System.Collections.Generic.IList`1.

The following example demonstrates the implementation of the T:System.Collections.IList interface to create a simple list, fixed-size list.

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

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1
Retornar ao início
Mostrar: