Back to All Events
Join us for three days of instructor-led onsite training in C#. You will learn the core concepts and building blocks of this popular cross platform Object Orientated language.
Delegates should be familiar with programming concepts but to not need to have prior experience of using C#.
This is a BYOD event.
The following topics will be covered over the duration of the course.
Day 1
Introduction | Basic syntax | Defining classes | Defining structs | Arrays |
---|---|---|---|---|
Brief History | Reading and writing to console | Defining fields and methods | Field visibility | How data is stored |
.net framework | Variables | Properties | Default initialization | Advantages of contiguous access |
Driving factors | Looping constructs | Access modifiers | No args constructor | Fixed sizing - how to resize |
Java legacy | Branching constructs | Initialization | Definite asignment | Array of class vs struct |
Managed language pros cons | Arithmetic operations | Constructors | Where struct data lives | |
What are types | Where reference data lives | Autoboxing | ||
Static fields and methods | Putting structs in classes |
Day 2
Inheritance | Interfaces | Generic types | Using collections |
---|---|---|---|
Inheriting from a class | Importence of segregation | Algorithmic reusability | Collection interfaces |
Field and method visibility | Behaviour vs type | Type parameters | Common collection types |
Method overriding | Declaring methods and properties | Defining a generic method | List |
Abstract methods | Implementing an interface with reference types | Defining a generic class | List algorithms |
Abstract classes | Substitutability | Dictionary | |
The object base type | Commonly used interfaces | HashSet | |
Queue |
Day 3
Building object hierarchies | Exceptions | IO | Assemblies and packages |
---|---|---|---|
Holding references to objects | Common error handling behaviour | Opening a file for reading | What is an assembly |
Null | Exception types | Reading bytes vs strings | Using namespaces to logically separate types |
Nullable value types | Try catch finally blocks | Writing data to a file | Compiling |
Elvis operator and null guards | Throwing exceptions | Working with paths | What is nuget |
Defining custom exceptions | Managing the file system | Using nuget to import packages | |
IDisposable | Serializing and deserializing data | Runtime assembly loading requirements |