This solution contains a collection of C# Console applications, each of which demonstrates a different C# language feature. The purpose of this solution is to provide a comprehensive learning resource for students who want to learn C# language features and best practices. By examining the code examples in each project, students can gain a deeper understanding of how to use the features of the C# language in real-world scenarios. The projects cover a broad range of features, from basic language constructs such as string manipulation and switch statements, to more advanced concepts such as async programming, pattern matching, and DDD using Clean Architecture. With this solution, students will be able to develop a strong foundation in C# programming, and be better equipped to write high-quality, maintainable code that follows best practices.
The solution includes a wide range of C# features, including:
Asynchronous Disposable
Async Method Builder
Async Streams
Auto Default Structs
Caller Argument Expression
Const Interpolated Strings
Default Interface Methods
Enhanced Line Pragma
Extended Nameof Scope
Extended Property Patterns
File-local Types
Generic Attributes
Generic Math Support
Improvements of Structure Types
Init Only Setters
Interpolated String Handlers
Lambda Improvements
List Pattern
Method Group Conversion
Native Sized Integers
Newlines in String Interpolation Expressions
Nullable Reference Types
Null Coalescing Assignment
Pattern Matching
Pattern Matching Enhancements
Raw String Literals
Records
Record Structs
Required Members
Static Local Functions
Suppress LocalsInit Flag
Target Typed New Expressions
Using Declarations
Utf8 String Literals
Each console application includes a detailed description of the C# feature, code examples, and best practices for using the feature. This solution is designed to be used as a self-paced learning resource for students who want to learn C# features before diving into C# clean architecture under domain-driven design.
Getting Started To get started, clone or download the repository, and open the solution in Visual Studio. Each console application is contained in a separate project within the solution, and can be run independently to demonstrate the respective C# feature.
Contributing Contributions to this project are always welcome. If you would like to contribute, please fork the repository, create a feature branch, and submit a pull request. Alternatively, you can submit bug reports or feature requests through the issue tracker.
License This project is licensed under the MIT License - see the LICENSE.md file for details.