• Introduction to C#
  • Branching and Looping
  • Object-Oriented Programming
  • Adding Behavior into your Apps
  • Building a Console Application
  • Method Parameters and Constructors
  • Collections
  • Debugging and Exceptions
  • Inheritance and Polymorphism
  • GC Fundamentals
  • Managing Non-Memory Resources
  • Using Async and Await
  • Writing Multithreaded Mobile Applications
  • Introduction to Thread Safety and Synchronization
  • More about Synchronization


This course is for developers that are already experienced with Xamarin, but want to deepen their C# knowledge.


Students should have significant previous experience with the C# programming language and familiarity with object-oriented programming concepts such as inheritance and interfaces. Knowledge of or experience with the Native iOS SDK’s are a big plus.


Five days

Outline for Xamarin C# Training

1. Introduction to C#

Install Visual Studio and code your first C# program; intended for people new to programming.

2. Branching and Looping

Use conditionals and loops to evaluate information and make decisions in your programs.

3.  Object-Oriented Programming

Organize your C# code according to the core guidelines of Object-Oriented Programming.

4. Adding Behavior into your Apps

Use properties to control access to your class's data and methods to implement the class's operations.

5. Building a Console Application

Apply your C# knowledge to code, compile, and test a full application.

6. Method Parameters and Constructors

Use optional and output parameters to make methods more flexible; use constructors to initialize objects.

7. Collections

Organize your data collections using built-in C# arrays and .NET library classes.

8. Debugging and Exceptions

Use the Visual Studio debugger and C# exceptions to locate and fix errors in your programs.

9. Inheritance and Polymorphism

Use inheritance to model related types and polymorphism to write generic code.

10. GC Fundamentals

Work cooperatively with the Garbage Collector to boost the performance of your app.

11. Managing Non-Memory Resources

Use IDisposable, Finalizers, and SafeHandles to release non-memory resources in Mono/.NET apps.

12. Using Async and Await

Use async and await to invoke code asynchronously so your app can interact with the user while processing another request.

13. Writing Multithreaded Mobile Applications

Use the Task API to perform work on background threads.

14. Introduction to Thread Safety and Synchronization

Use the Monitor class and the lock keyword to synchronize access to shared data and make your code thread safe.

15. More about Synchronization

Use specialized techniques for synchronizing access to shared data and coordinating the activity of multiple threads.