Advanced C#

So, you know C#. You've learned the syntax, learned how to write classes and interfaces, know your lists from your lambdas, and have some experience using both the C# language and the .Net framework. Perhaps you took our Beginner and Intermediate courses - or you already know what they teach. What next?

The C# Masterclass moves beyond the syntax and semantics. Its focus is on applying C#, along with selected parts of the .Net framework, to build elegant, extensible, multi-paradigm solutions to everyday problems. You'll learn how to apply classes and interfaces to achieve solid OO designs, how to make data time-travel with lambda expressions, how to re-cast traditionally imperative problems as concise Linq queries, how to tame asynchrony with using the async/await keywords - and much more!

Målgrupp

This course is aimed at those who have a working knowledge of C# and want to learn to apply the language in a more powerful way, taking advantage of all it has to offer.

Förkunskaper

Participants should be comfortable with programming in C#. Some previous experience with generics, lambda expressions, and Linq queries is strongly suggested.

Ämnesområden

Introduction

  • Roslyn compiler
  • Introduction to .NET Core

Being Effective with Visual Studio 2015

  • Navigation and editing tips and tricks
  • Using the debugger

Lambda and Delegate refresher

  • Delegates
  • Lambda expressions
  • Func and Action

C# 6 and C#7

  • Learn all the new features in C#6
  • What's new in C#7

OO and dynamic

  • The nature of object orientation
  • Encapsulation and hiding
  • Dynamic objects vs. class-based OO

Classes: outside-in

  • What comes first: classes, methods, or fields?
  • Invariants
  • Command-Query Separation

Design patterns

  • Decorator pattern
  • Chain of Responsibility
  • The strategy pattern

Dependency Inversion

  • The Dependency Inversion Principle
  • Coping with time by following the DIP
  • Coping with persistence by following the DIP
  • DI containers

Generic Programming

  • Creating generic classes
  • Inheriting from generic classes
  • Using generic constraints
  • Generic interfaces

Higher Order Programming

  • What is Higher Order Programming?
  • Closure semantics, and its uses
  • Function generators

Reflection and attributes

  • Application domains, assemblies, types, and members
  • Reflection types
  • Walkthrough: dynamic object builder
  • Implementing custom attributes

Event driven architecture

  • Complexity and boundaries
  • Event aggregator pattern
  • Publish/subscribe

Encoding and Unicode

  • Understanding unicode
  • UTF-8 and UTF-16 encoding
  • Homographs

Regular expressions

  • Concept, syntax, practical examples
  • Multiline
  • Groups and captures

Advanced Linq

  • Approaching problems from a Linq perspective
  • Method syntax vs. query syntax
  • Lazy evaluation: benefits and dangers
  • SelectMany, Join and Group By operations
  • Set operations

Asynchrony

  • What is asynchronous programming?
  • CPU-bound vs. IO-bound operations
  • The Task abstraction, and task-based asynchrony
  • Continuation Passing Style
  • async and await keywords

 

Boka kursen

Boka din plats redan idag.

Om kursen

Pris: 25 970,00 kr

exklusive moms

Längd 3 dagar
Kurskod ET320

KompetenskortKompetenskort gäller på denna kurs

Boka kursen

Välj ort och kursstart

lc LiveClass innebär att kursen hålls som en lärarledd interaktiv onlineutbildning.

18 september

6 december

Kunduppgifter

Kursanmälan är bindande. För mer information och avbokningsregler se våra allmänna villkor.
Kontakta Cornerstone

Kontakta oss

Har du några frågor är du välkommen att kontakta vår kundservice.

Telefon: 08-562 557 50   
E-post: info@cornerstone.se