Home
Map
VB.NET
IList Example
This page was last reviewed on Feb 9, 2024.
Dot Net Perls
IList. The IList interface is similar to IEnumerable, but it allows for both looping and a Count property. Types such as arrays and Lists implement IList.
By specifying a parameter of type IList, we can pass either an array or a List to a method. IList is generic, so we must specify a type parameter on it.
Array
List
Example. Here we specify a subroutine called Display that receives an IList of type Integer. We call Display() twice in the Main sub.
Version 1 We create an Integer array of 3 elements (we specify the max element index). We can pass this, without casting, to Display.
Version 2 We create a generic List with Integer elements, and add 3 elements. We can also pass this List as an IList interface reference.
Module Module1 Sub Main() ' Version 1: create Integer array and use as IList. Dim array(2) As Integer array(0) = 1 array(1) = 2 array(2) = 3 Display(array) ' Version 2: create Integer List and use as IList. Dim list As List(Of Integer) = New List(Of Integer)() list.Add(5) list.Add(7) list.Add(9) Display(list) End Sub Sub Display(list as IList(Of Integer)) ' Receive an IList, and print its Count and elements. Console.WriteLine("Count: {0}", list.Count) For Each value In list Console.WriteLine(value) Next End Sub End Module
Count: 3 1 2 3 Count: 3 5 7 9
IEnumerable. How is IList different from IEnumerable? With IList, we have a Count property, whereas on IEnumerable, we can only enumerate the collection with For Each.
IEnumerable
Module Module1 Sub Main() ' Use Integer array as IEnumerable. Dim array() As Integer = { 500, 600, 700 } X(array) End Sub Sub X(list as IEnumerable(Of Integer)) ' Receive an IEnumerable, which does not have a Count property. For Each value In list Console.WriteLine(value) Next End Sub End Module
500 600 700
Summary. With IList, we can build a function in VB.NET that receives either a List or an array—or any other type that implements IList. This can lead to more reusable code, and simpler programs.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Feb 9, 2024 (new).
Home
Changes
© 2007-2024 Sam Allen.