As the next release of the C # release day approaches, features that have not yet been completed must be cut off. Recent attributes that have been cut off from the list of attributes include the primary constructor (primary constructor) and the declaration expression (Declaration expressions). Mads Torgersen wrote:
As I said before, the language feature is only considered a second level in this release. The main goal of this release is to excel in the first release of the Roslyn value proposition, including a more in-depth understanding of language features in the IDE, and access to a robust and sophisticated API for everyone. In order to better implement the content of this submission, we have to make some corresponding reduction in language features.
Fortunately, there is not only bad news, a new feature that has never been mentioned by Microsoft is about to be released with C # 6, which is string value insertion (string interpolation), which allows the developer to inline the string directly without having to explicitly call the String.Format method. String value insertion was added to the Mono compiler as an experimental feature in 2009.
The features that will be included in the next release include the following:
- Initializer for automatic properties (this feature is already in VB)
- Include only the automatic properties of the Get method
- Passing values for automatic properties in constructors that include only get methods
- struct-Body (struct) constructors with no parameters
- Direct access to static members (this feature is already in VB)
- Dictionary initializer (C # only)
- Call await in catch and finally (completed in C #, VB not yet determined)
- Exception filter (this feature is already in VB)
- Typecase (VB not yet determined)
- Part (partial) module (VB only, not for C #)
- Partial (partial) interface (already has this attribute in C #)
- Multiline string (already has this attribute in C #)
- Gets the date expression for the first day of the year (VB only)
- Comment for continuation of a line of code (VB only, not for C #)
- typeof and IsNot (VB only, not for C #)
- Using an expression in a member definition (C # only)
- Null value delivery (completed in C #, VB not yet determined)
- Params parameter accepts IEnumerable type (not yet determined)
- String value insertion (already in the plan)
- Nameof operator (completed in C #, VB already in plan)
- #pragma指令 (already has this attribute in C #)
- Specify fields in automatic properties (not yet determined)
- You can see a list of all features that have not been cut off in the language features status page.
Note: Infoq has previously erroneously reported that pattern matching will become part of C # 6 and VB 12, which is hereby clarified.
English Original: Updated Feature List for C # 6 and VB 12
List of the latest features for C # 6 and VB 12