C# programming

Today, coding is also about designing at the same time.  At the end of this course, the participant will be able to justify the choice of the characteristic used. This understanding and confidence in its selection is essential to properly develop an application. The participant will also be able to implement a complete project from A to Z reusing common components.  

Upcoming sessions

No date suits you?

Notify me when a session is added.

  • Duration: 4 days
  • Regular price: $2,500
  • Preferential price: $2,140

Course outline

Langues d'enseignementCette formation peut être offerte en français et en anglais

Public concerné

Développeurs.

Préalables

Cours "Introduction au développement orienté-objet" ou la connaissance des concepts objet. Une expérience de C/C++, Java ou Visual Basic est un atout.

Objectifs

Ce cours de C# va au-delà de l'explication des nombreuses caractéristiques offertes par le langage. La majorité des livres, articles et formations traitent principalement du "comment" avec bien des exemples. C'est bien, mais on oublie le plus important : préciser "pourquoi" et "quand" l’on doit utiliser une caractéristique. Ces explications sont fondamentales :
  • pour bien comprendre "pourquoi" cette caractéristique a été intégrée dans le langage (sa raison d'être) et pourquoi elle contribue à résoudre telle problématique;
  • pour discerner "quand" cette dernière est utile pour régler et faciliter la solution à un problème.

Méthode pédagogique

Exposés - Démonstrations - Exercices dirigés et individuels.
La répartition du contenu est approximativement : matériel 35% et laboratoires 65%

Contenu

  • Bref historique de C#
  • Meilleures pratiques d'utilisation avec Visual Studio pour les solutions et les projets
  • Standardisation, soutien de plateformes, relations entre le C# et le CLR
  • Survol du Framework .NET
  • Concepts objet importants en C#
  • Classes, objets et espaces de nommage: utilisation des modificateurs d'accès et unités de compilation
  • Membres de classe et réutilisation: champs, méthodes, paramètres, utilisation de méthodes publiques, protégées, internes et privées
  • Déclaration de constructeurs, de champs en lecture seulement, de propriété, d'indexeur et de destructeur
  • Système de type unifié: référence, valeur, littéraux, conversions, emboîtage (Boxing) et désemboîtage (Unboxing)
  • Opérateurs et expressions: priorité et associativité
  • Instructions: bloc, sélection et itération
  • Chaînes, Tableaux, variables et paramètres
  • Passage d'arguments par valeur, par référence, avec nombre variable et avec arguments nommés
  • Variables locales implicitement typées et surcharge de méthodes
  • Collections et génériques
  • Réutilisation de classes : agrégation et héritage
  • Comparaison de l’agrégation et de l’héritage
  • Types avancés : Délégués (Delegates) et événements (Events)
  • Utilisation des inférences de délégué,
  • Utilisation des délégués pour les rappels (callback), les événements et les méthodes anonymes
  • Exceptions et gestion des erreurs: try-catch et finally blocs et lancement throw
  • Importance de la classe racine: pour la comparaison et le clonage d'objets
  • Classes abstraites et interfaces
  • Polymorphisme et accesseurs: surcharge (overload) vs redéfinition (override) de méthodes
  • Création de types valeur : structure (struct) et énumération (enum)
  • Expressions lambda et méthodes d'extensions
  • Programmation de fils d’exécution (threads)
  • Les états et les priorités d’un thread
  • Création, démarrage, réordonnancement et synchronisation des threads
  • Utilisation de la classe Monitor
  • Utilisation de classes d'entrées / sorties, fichiers, flux (Streams), attributs et sérialisation
  • Projet complet de A à Z réutilisant des composants communs avec interfaces console et graphique

Surround yourself with the best

Michel de Champlain
Michel de Champlain
Architect and Creator of the B# Language
Animated by a passion that captivates, stimulates and gets participants involved, Michel is an enthusiastic and authentic trainer.
Frédéric Paradis
Frédéric Paradis
Certified Trainer and Cloud Architect
As a certified Microsoft trainer, Frédéric describes himself as a Cloud magician who easily navigates the mythical space between technology and reality.
Marc Maisonneuve
Marc Maisonneuve
Training program director
Marc Maisonneuve has acted as a Training Program Director, professional effectiveness trainer and user tools practice leader at AFI for several years. Mr. Maisonneuve is known for his analytical skills, his legendary calm and his undeniable desire to encourage people to develop their skills. He has the ability to present technological solutions in a natural way and to adapt them to the concrete needs of the workplace.
Vicky Moreau
Vicky Moreau
Trainer
Vicky Moreau is a passionate freelancer and professional in the area of office automation. She holds a college diploma in office automation, most of her solid experience with the Office Suite was acquired while being an autodidact. In fact, she has successfully completed an MOS (Microsoft Office Specialist) Excel certification.