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

Interfaz IList

 

Publicado: octubre de 2016

Representa una colección no genérica de objetos a los que se puede acceder individualmente por un índice.

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

<ComVisibleAttribute(True)>
Public Interface IList
	Inherits 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 solo 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 en el índice especificado.

System_CAPS_pubpropertySyncRoot

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

NombreDescripción
System_CAPS_pubmethodAdd(Object)

Agrega un elemento a IList.

System_CAPS_pubmethodClear()

Quita todos los elementos de IList.

System_CAPS_pubmethodContains(Object)

Determina si IList contiene un valor específico.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copia los elementos de ICollection en Array, empezando por un índice determinado de 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 de 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 la interfaz IList que se encuentra en el índice especificado.

NombreDescripción
System_CAPS_pubmethodAsParallel()

Sobrecargado. Habilita la paralelización de una consulta.(Definido por ParallelEnumerable).

System_CAPS_pubmethodAsQueryable()

Sobrecargado. Convierte un IEnumerable para un IQueryable.(Definido por Queryable).

System_CAPS_pubmethodCast(Of TResult)()

Convierte los elementos de un IEnumerable al tipo especificado.(Definido por Enumerable).

System_CAPS_pubmethodOfType(Of TResult)()

Filtra los elementos de un IEnumerable basado en un tipo especificado.(Definido por Enumerable).

IList es un descendiente de la ICollection interfaz y es la interfaz base de todas las listas no genéricas. IList las implementaciones se dividen en tres categorías: sólo lectura, tamaño fijo y tamaño variable. Sólo lectura IList no se puede modificar. Un tamaño fijo IList no permite la adición o eliminación de elementos, pero sí permite modificar los elementos existentes. Un tamaño variable IList permite agregar, quitar y modificar elementos.

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

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

Imports System
Imports System.Collections

Public Class Program

    Shared Sub Main()

        Dim myList As New SimpleList()

        ' Populate the List
        Console.WriteLine("Populate the List")
        myList.Add("one")
        myList.Add("two")
        myList.Add("three")
        myList.Add("four")
        myList.Add("five")
        myList.Add("six")
        myList.Add("seven")
        myList.Add("eight")
        myList.PrintContents()
        Console.WriteLine()

        ' Remove elements from the list
        Console.WriteLine("Remove elements from the list")
        myList.Remove("six")
        myList.Remove("eight")
        myList.PrintContents()
        Console.WriteLine()

        ' Add an element to the end of the list
        Console.WriteLine("Add an element to the end of the list")
        myList.Add("nine")
        myList.PrintContents()
        Console.WriteLine()

        ' Insert an element into the middle of the list
        Console.WriteLine("Insert an element into the middle of the list")
        myList.Insert(4, "number")
        myList.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}", myList.Contains("three"))
        Console.WriteLine("List contains 'ten': {0}", myList.Contains("ten"))

    End Sub
End Class ' class Program

Public Class SimpleList
    Implements IList

    Private _contents(8) As Object
    Private _count As Integer

    Public Sub New()

        _count = 0
    End Sub

    ' IList Members
    Public Function Add(ByVal value As Object) As Integer Implements IList.Add

        If (_count < _contents.Length - 1) Then

            _contents(_count) = value
            _count = _count + 1

            Return (_count - 1)

        Else

            Return -1
        End If
    End Function

    Public Sub Clear() Implements IList.Clear
        _count = 0
    End Sub

    Public Function Contains(ByVal value As Object) As Boolean Implements IList.Contains

        Dim inList As Boolean = False

        Dim i As Integer
        For i = 0 To Count

            If _contents(i) = value Then

                inList = True
                Exit For

            End If

        Next i

        Return inList
    End Function

    Public Function IndexOf(ByVal value As Object) As Integer Implements IList.IndexOf

        Dim itemIndex As Integer = -1

        Dim i As Integer
        For i = 0 To Count

            If _contents(i) = value Then

                itemIndex = i
                Exit For

            End If

        Next i

        Return itemIndex
    End Function

    Public Sub Insert(ByVal index As Integer, ByVal value As Object) Implements IList.Insert

        If (_count + 1) <= (_contents.Length - 1) And (index < Count) And (index >= 0) Then

            _count = _count + 1

            Dim i As Integer
            For i = Count - 1 To index

                _contents(i) = _contents(i - 1)
            Next i

            _contents(index) = value
        End If
    End Sub

    Public ReadOnly Property IsFixedSize() As Boolean Implements IList.IsFixedSize
        Get
            Return True
        End Get
    End Property

    Public ReadOnly Property IsReadOnly() As Boolean Implements IList.IsReadOnly

        Get
            Return False
        End Get
    End Property

    Public Sub Remove(ByVal value As Object) Implements IList.Remove
        RemoveAt(IndexOf(value))
    End Sub

    Public Sub RemoveAt(ByVal index As Integer) Implements IList.RemoveAt

        If index >= 0 And index < Count Then

            Dim i As Integer
            For i = index To Count - 1

                _contents(i) = _contents(i + 1)
            Next i
            _count = _count - 1

        End If
    End Sub

    Public Property Item(ByVal index As Integer) As Object Implements IList.Item

        Get
            Return _contents(index)
        End Get

        Set(ByVal value As Object)
            _contents(index) = value
        End Set
    End Property

    ' ICollection Members

    Public Sub CopyTo(ByVal array As Array, ByVal index As Integer) Implements ICollection.CopyTo
        Dim j As Integer = index
        Dim i As Integer
        For i = 0 To Count
            array.SetValue(_contents(i), j)
            j = j + 1
        Next i
    End Sub

    Public ReadOnly Property Count() As Integer Implements ICollection.Count
        Get
            Return _count
        End Get
    End Property

    Public ReadOnly Property IsSynchronized() As Boolean Implements ICollection.IsSynchronized
        Get
            Return False
        End Get
    End Property

    ' Return the current instance since the underlying store is not
    ' publicly available.
    Public ReadOnly Property SyncRoot() As Object Implements ICollection.SyncRoot
        Get
            Return Me
        End Get
    End Property

    ' IEnumerable Members
    Public Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator

        ' Refer to the IEnumerator documentation for an example of
        ' implementing an enumerator.
        Throw New Exception("The method or operation is not implemented.")
    End Function

    Public Sub PrintContents()

        Console.WriteLine("List has a capacity of {0} and currently has {1} elements.", _contents.Length - 1, _count)
        Console.Write("List contents:")

        Dim i As Integer
        For i = 0 To Count

            Console.Write(" {0}", _contents(i))
        Next i

        Console.WriteLine()

    End Sub
End Class

' 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 de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: