How To Use VB.NET IList(Of T).Max
Matthew Martinez
How do I use the IList(Of T).Max function in my example below?
Dim myList as IList(Of Integer)
For x = 1 to 10 myList.add(x)
Next
'Error: 'Max' is not a member of 'System.Collections.Generic.IList(Of Integer)'
MsgBox(myList.Max()) 2 Answers
your code throws a System.NullReferenceException when calling myList.add because it has not been initialized. If you use List instead of IList as shown below it works.
Imports System.Collections.Generic
Module Module1 Sub Main() Dim myList As New List(Of Integer) For x = 1 To 10 myList.Add(x) Next MsgBox(myList.Max()) End Sub
End ModuleIt works fine even if only System is imported in the project.
4You have to make sure you import System.Linq, and add the System.Core.dll as a reference to your project.
This is because Max is an extension method defined in System.Linq.Enumerable class. It is not defined in System.Collections.Generic.IList(Of T) interface.