X++ language reference

Important

Welcome to the documentation for Microsoft Dynamics 365 for Operations on docs.microsoft.com. We are migrating our content here from the Dynamics 365 for Operations Help Wiki.

X++ is an object-oriented, application-aware, and data-aware programming language that Microsoft Dynamics 365 for Operations uses in enterprise resource planning (ERP) programming and in database applications. It provides system classes for a broad range of system programming areas, highlighted in the following table.

X++ language attributes Description
Classes In addition to system classes, Dynamics 365 for Operations also provides application classes for managing many types of business processes. Reflection on classes is supported.
Tables X++ programmers can access the relational tables in Dynamics 365 for Operations. X++ includes keywords that match most of the keywords in standard SQL. Reflection on tables is supported.
User interface Manipulation of user interface items, such as forms and reports.
Best practice checks X++ code is checked for syntax errors during compile time. The compile process also performs best practice checks. Violations of best practices can generate compiler messages.
Garbage collection The X++ runtime execution engines have automatic mechanisms to discard objects that are no longer referenced, so that memory space can be reused.
Interoperability Dynamics 365 for Operations supports interoperability between classes written in X++ and in C# (or other .NET Framework languages).
File manipulation File input and output is supported, including XML building and parsing.
Collections Dynamic arrays are supported and the X++ includes several collection objects.

The X++ language programming guide is divided into these sections:

See also