Course
Skills Expanded
C# Tips and Traps
Short-circuit your learning of C# with this smorgasbord of handy C# and .NET features.
What you'll learn
Whether you're still learning C# or you already have some experience, it's sometimes hard to know what you don't know. This course is designed to short-circuit your C# learning and provides a whole host of useful information about the sometimes under-used or unknown features of both the C# language and the .Net framework. It's suitable for those who are brand new to C# as well as experienced developers looking to "round off" their C# skills and "fill in the gaps".
Table of contents
Part I
32mins
- Module Overview 1m
- Customize debugger display values 5m
- Control the display of members in the debugger 3m
- The null-coalescing operator 4m
- The danger of virtual method calls from constructors 3m
- The caller information attributes 5m
- Partial types and methods 5m
- Runtime conversions with Convert.ChangeType 2m
- Expose internal types and members to friend assemblies 3m
- Module Summary 1m
Part II
41mins
- Module Overview 2m
- Simplifying string empty and null checking code 2m
- Time zones and using DateTime.MinValue to represent null dates 2m
- Conditional compilation and emitting compiler warnings and errors 6m
- Testing char Unicode validity 2m
- Changing the current thread's culture at runtime 4m
- Creating random numbers 4m
- Using Tuples to reduce code 7m
- Forcing reference equality comparisons 4m
- Don't change an object's hashcode after adding to a dictionary 3m
- Creating and using combinable enums 3m
- Module Summary 2m
Part III
39mins
- Module Overview 1m
- Conditional formatting for positive, negative, and zero numbers 3m
- Marking code as obsolete 3m
- Avoiding re-evaluation of LINQ queries 3m
- Launching arbitrary programs and capturing their output 5m
- Static Array Methods 5m
- Copying, atomic cloning, and resizing of arrays 11m
- Initializing multidimensional rectangular and jagged arrays 4m
- Preserving your stacktrace when rethrowing exceptions 3m
- Module Summary 1m
Part IV
41mins
- Module Overview 1m
- Parsing numeric types with the NumberStyles enumeration 7m
- Preventing ambiguous DateTime parsing 4m
- Avoiding DateTime misparsing with culture-independent strings 5m
- Parsing DateTimes with the DateTimeStyles enumeration 4m
- Converting base types to byte arrays 5m
- as or cast? 4m
- Exiting loops early 4m
- Binary compatibility with optional parameters 6m
- Module Summary 1m
Part V
31mins
Part VI
50mins
- Module Overview 1m
- Conditionally executing methods based on compilation symbols 4m
- The conditional operator 5m
- Make working with paths easier 13m
- Formatting and aligning values into columns 3m
- Specify methods that take an arbitrary number of arguments 4m
- Simplify constructor overloads 6m
- Finding out information about the current system and platform 4m
- Using indexers in your own classes 9m
- Module Summary 1m