title | description | author | ms.date | ms.topic | ms.prod | ms.technology | audience | ms.reviewer | ms.custom | ms.search.region | ms.author | ms.search.validFrom | ms.dyn365.ops.version |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X++ language reference |
This topic provides programming guidance for X++. |
RobinARH |
06/20/2017 |
article |
Developer |
rhaertle |
Global |
rhaertle |
2016-02-28 |
AX 7.0.0 |
[!include banner]
X++ is an object-oriented, application-aware, and data-aware programming language used 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 feature | Description |
---|---|
Classes | In addition to system classes, there are also application classes for managing many types of business processes. Reflection on classes is supported. |
Tables | X++ programmers can access the relational tables. 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 | Interoperability between classes written in X++ and in C# (or other .NET Framework languages) is supported. |
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:
- Variables and data types
- Statements, loops, and exception handling
- Operators
- Classes and methods
- Data selection and manipulation
- Macros
- Attribute classes
[!INCLUDEfooter-include]