Skip to main content

List DataType - #albacktobasics.

Hi Readers,

Hope you all are doing great. Thankyou for all your love and support with great questions and discussions.

In this article we will talk about a New Datatype available in AL that was discussed in last #bcopendiscussion.

Question - What is List Data Type and How to Use It?

We will discuss in details about List Datatype. #albacktobasics

Available from AL runtime version 1.0.

What is List?

  • List Represents a strongly typed list of ordered objects that can be accessed by index. 

How List is Different From Array?

  • Contrary to the Array data type, a List is unbounded, such that its dimension does not need to be specified upon declaration.

Method with List?

  • Insert - Inserts an element into the List at the specified index.
  • Add - Adds a value to the end of the List.
  • AddRange - Adds the elements of the specified collection to the end of the list.
  • Count - Gets the number of elements contained in the List.
  • LastIndexOf - Searches for the specified value and returns the one-based index of the last occurrence within the entire List.
  • Reverse - Reverses the order of the elements in the entire List.
  • Contains - Determines whether an element is in the List.
  • Set - Sets the element at the specified index.
  • Get - Gets the element at the specified index.
  • GetRange - Get a shallow copy of a range of elements in the source.
  • Remove - Removes the first occurrence of a specified value from the List.
  • RemoveAt - Removes the element at the specified index of the List.
  • RemoveRange - Removes a range of elements from the List.

Remember - 

  • The List can only be used with simple types i.e. you can have a List of [Integer]. 
  • We cannot have a List of [Blob]. 
  • List data type does not support holding instantiated records. 
  • Lists are 1-based indexed, that is, the indexing of a List begins with 1.

Example Code - 

Example Output - 

In Next article, We will see an example of how to use List with an extension scenario.

If you have any other basic stuff that you would like to discuss please let me know and I will try to write an article on this.

Let me know your views as comment to this article.

Saurav Dhyani


Popular posts from this blog

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.