====== Sorting a collection ====== using System.Collections.Generic using System.Linq using System // Important: include at least System, System.Core, System.Linq function Start( ) as void local oTrackList as List oTrackList := List{} oTrackList:Add( Track{ 12 } ) oTrackList:Add( Track{ 23 } ) oTrackList:Add( Track{ 34 } ) oTrackList:Add( Track{ 45 } ) oTrackList:Add( Track{ 56 } ) oTrackList:Add( Track{ 67 } ) foreach oTrack as Track in oTrackList System.Console.WriteLine( "Track " + oTrack:Start:ToString() ) next System.Console.WriteLine( "Sorted now..." ) oTrackList := oTrackList:orderbyDescending( {|o| o:Start } ):ToList() // var oSortedList := from oTrack as Track in oTrackList; // orderby oTrack:Start descending; // select oTrack // System.Console.WriteLine( "result object is of type " + oSortedList:GetType():Name ) foreach oTrack as Track in oTrackList System.Console.WriteLine( "Track " + oTrack:Start:ToString() ) next return class Track constructor( nStart as int ) self:Start := nStart return property Start as int auto end class