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.

Regards,
Saurav Dhyani

www.sauravdhyani.com
#albacktobasics

Comments

Popular posts from this blog

Microsoft Dynamics NAV 2016 - How to Configure Phone Client.

Hi All, In this article we will discuss how we can connect Microsoft Dynamics NAV 2016 with New Client Launched i.e. Phone Client. This Article Contain Steps for a Android Phone as I have Only Android Phone. I am doing it having all tiers on my windows 8 machine, steps remain same for multiple servers but issues might be different. What we Need (Other what we discuss in this article) -  The Service Tier should be on Public IP . Some of the Data-card does not Provide you Public IP. check it for sure.

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.

🚀 Exploring Vibe Coding with GitHub Copilot for Business Central.

Hi All, In a recent #BCOpenDiscussion session, we delved into the fascinating concept of Vibe Coding —a new way of building software where developers collaborate with AI (like GitHub Copilot) to co-create solutions.  The session covered practical setup, how AI understands context, and even touched on Microsoft's new Model Context Protocol (MCP) integration for enhanced learning. Let’s break down the journey, step by step.