hands-on lab

The C# Programming Language

You can pause this lab for up to 240m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Microsoft's .NET (Framework and Core) present developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built with equal ease, using substantially the same skill-set. But to make the most of this potential, developers must have a thorough grasp of language skills, OO programming concepts and common techniques.

This lab concentrates on the C# programming language itself, to fully prepare delegates fully in readiness for using the .NET Framework/Core. No object-orientated knowledge is assumed - the course provides a suitable OO primer. From basic procedural syntax to sophisticated object-oriented programming techniques, delegates will learn how to write .NET applications with code that is robust and maintainable.

The lab is presented as a mixture of instructional guides and hands-on exercises. Practical exercises follow all main topics, designed to reinforce the points covered. Additional information is provided in appendices to extend the learning experience after the lab has been completed.

The lab provides a good starting point for delegates wishing to undertake Microsoft exam 70-483 (Programming in C#) although further study is likely to be required before sitting the exam. 

Learning Objectives

Upon completion of this lab you will be able to:

  • Write code that includes sequence, selection and iteration constructs
  • Create and use classes and structures (types), including fields, properties, methods, delegates and events
  • Use private, internal, protected and public visibility modifiers
  • Use exception-handling to create robust applications
  • Create derived classes that inherit from custom-written or .NET classes
  • Create interfaces and apply techniques of polymorphism effectively and appropriately
  • Work with generic types
  • Leverage the power of C# features
  • Use delegates
  • Understand the event handling paradigm
  • Use lambda expressions in C# code
  • Use LINQ (Language Integrated Query)
  • Understand their resource management obligations

Intended Audience

This lab is intended for:

  • Developers who will use C# to write .NET Framework or .NET Core applications and who are relatively new to the C# programming language


You should be familiar with:

  • The fundamentals of programming


June 24th, 2020 - Enabled direct browser RDP connection for a streamlined experience

June 4th, 2020 - Expanded the VM disk to avoid issues with low disk capacity

About the author
Paul Besly, opens in a new tab
Principal Technologist

Paul is a principal technologist at QA Ltd.

Covered topics
Lab steps
Starting the C# Programming Language Exercises