امکانات زیادی در #C و NET. وجود دارند که یا مورد استفاده قرار نمیگیرند و یا ناشناخته مانده اند و جالب این که میتوانند حل مسائل را آسانتر کنند. در دوره ویدیویی C# Tips and Traps موسسه Pluralsight که توسط Jason Roberts تدریس شده است، شما توانایی پیاده سازی راحتتر راهکارهای سی شارپ را بدست خواهید آورد.
ابتدا، شما نکات مربوط به رشته ها، اعداد، تاریخها و اشیا را یاد میگیرید. سپس نکات مرتبط با مسیرهای فایل و URI ها، به همراه نکاتی در باب سازمان دهی و کامپایل کردن کلاسها و کدها را بررسی میکنید. سرانجام، شما در مورد چگونگی cast کردن و تبدیل انواع و همچنین چگونگی دریافت و کنترل اطلاعات در مورد محیط زمان اجرا بررسی خواهید کرد. با پایان یافتن این دوره، شما مهارتها و دانش سی شارپ مورد نیاز را برای توسعه برنامههای سی شارپ با کد کمتر را در اختیار خواهید داشت.
فیلم آموزشی «نکات و تلههای سی شارپ» موسسه پلورال سایت که توسط Jason Roberts تدریس شده است، دارای زیرنویس انگلیسی است.
Table of Contents:
Course Overview
- Course Overview
String, Character, and Formatting Tips
- Introduction
- Simplifying String Empty and Null Checking Code
- Testing Char Unicode Validity
- String Formatting and String Interpolation
- Formatting and Aligning Values into Columns
- Conditional Formatting for Positive, Negative, and Zero Numbers
- Building Strings with the StringBuilder Class
- Creating and Using Custom Numeric Format Providers
- Summary
Tips for Working with Numbers and Dates
- Introduction
- Parsing Strings into Numbers with the NumberStyles Enumeration
- Preventing Ambiguous DateTime Parsing and Mis-parsing
- Parsing DateTimes with the DateTimeStyles Enumeration
- Representing Arbitrarily Large Integer Values
- Creating Random Numbers
- Creating Cryptographically Secure Random Numbers
- Generating Sequences of Integer Values
- Summary
Data Types and Object Tips
- Introduction
- Using Tuples to Reduce the Amount of Code
- Creating and Using Combinable Enums
- Improving Struct Equality Performance
- Forcing Reference Equality Comparisons
- Summary
Tips for Working with Files, Paths, and URIs
- Introduction
- Simplifying Path Creation Code
- Other Useful Path Methods
- Working with URIs
- Working with Zip Files
- Compressing and Decompressing In-memory Streams
- Summary
Organizing and Structuring Classes and Code
- Introduction
- The Danger of Virtual Method Calls from Constructors
- Simplifying Constructor Overloads
- Creating Methods That Take an Arbitrary Number of Arguments
- Using Indexers in Your Own Classes
- Partial Classes and Partial Methods
- Simplifying Code with Local Functions
- Creating Type Namespace Aliases
- Using Keywords for Variable Names and Parameters
- Exiting Loops Early
- Summary
Compilation Tips
- Introduction
- An Overview of C# Preprocessor Directives
- Implementing Conditional Compilation with Preprocessor Directives
- Conditionally Compiling Code for Different Platforms
- Defining Custom C# Compilation Symbols
- Emitting Custom C# Compiler Warnings and Errors
- Conditionally Calling a Method Based on Compilation Symbols
- Unit Testing Internal Methods
- Marking Code as Obsolete
- Binary Compatibility and Optional Parameters
- Summary
Tips for Casting and Conversions
- Introduction
- Converting Binary Data to ASCII with Base64 Encoding
- Converting Base Types to Binary with BitConverter
- Runtime Conversions with Convert.ChangeType
- Converting Characters to Numeric Values
- As or Cast?
- Summary
Runtime Execution Tips
- Introduction
- Consequences of Exceptions in Static Constructors
- Getting Environment Information in C#
- Changing the Current Thread's Culture at Runtime
- Deferring Creation of Resource-intensive Objects until First Use
- Exception Caching with Lazy<T>
- Creating Delays with Tasks
- Launching Arbitrary Programs and Processes
- Capturing Process Output and Errors
- Summary
Bonus Tips
- Introduction
- Merging IEnumerable Sequences Together
- Performing Set-based Operations on IEnumerable Sequences
- The Caller Information Attributes
- Non Short-circuiting Logical Operators in C#
- Preserving Your Stack Trace When Rethrowing Exceptions
- The Null-coalescing and Null-conditional C# Operators
- Summary and Further Learning