Defensive C# Programming

by DreamCatcher Claim Listing

C# is one of the languages designed for the Common Language Infrastructure. It was developed around 2000 by Microsoft but is now an approved standard language.

Price : Enquire Now

Contact the Institutes

Fill this form

Advertisement

DreamCatcher Logo

img Duration

4 Days

Course Details

C# is one of the languages designed for the Common Language Infrastructure. It was developed around 2000 by Microsoft but is now an approved standard language. Just like any other programming languages, it is essential to understand the underlying mechanisms in order to avoid making common mistakes.

This course is designed to impart the theory behind how some of the underlying mechanisms work by working through some C# examples. Attendees will finish the course with a working knowledge of common C# programming errors that can lead to software problems and effective mitigation strategies to avoid introducing these errors.

 

What You Will Learn:

  • How to handle memory correctly.
  • How to handle exceptions correctly.
  • How to handle floating-point correctly.
  • How to handle multi-threading correctly.

 

Course Structure:

  • Day 1
  • Expressions: value and references; comparing values for equality; ignoring return values; dereferencing null pointers.
  • Exceptions: handling all exceptions; honouring exceptions; guaranteeing exception safety; Catch and rethrow; New exceptions; First-chance exception; Asynchronous exceptions; Exposing exception information; Dealing with unhandled exceptions; Tracking exception source; Selective exception processing.
  • Day 2
  • Floating-point: IEEE754 standards; division; rounding; overflow; underflow; Kahan summation; inherent errors; domain and range errors; rounding a floating-point value; choosing a rounding algorithm.
  • Integers: integer overflow; divide-by-zero; integer precision; safe narrowing of numeric casting; enumeration validation; using enumerations; Determining enumeration flags.
  • Strings: String concatenation; De/encoding Base64; Converting byte[] to string; Passing string as byte[]; Valid numeral string.
  • Day 3
  • Memory Management: stack vs heap; managed heap; large-object heap; creating objects on the heap; removing objects from the heap; garbage collection; implementing dispose; implementing finalize; unmanaged resources.
  • Object-Oriented Programming: cloning classes; disposing objects; null checking; multiple disposal;
  • Collections: Custom enumerators; Nested foreach; LINQ speed-up.
  • Day 4
  • Concurrency: semaphores; mutex; multiplex; barriers; race conditions; avoiding deadlocks; Per-thread static storage; Thread-safe access to classes; Silent thread termination; Asynchronous thread completion; Private thread data; Using semaphore; Using mutex; Using events; Atomic operations; In-order task execution.
  • Input/Output: EOF; TOCTOU; reading and writing files; closing files; Wildcard searching; Directory tree; Path parsing; Using command-line utilities; Locking a file; Filesystem events.
  • George Town Branch

    303-5-5 & 303-5-6, Block B, Krystal Point, George Town
  • Miri Branch

    Lot 1140, Taman Emas, Miri
  • Kuala Lumpur Branch

    LOT 2-4, Galleria @ Cyberjaya, Kuala Lumpur

Check out more C++ Programming courses in Malaysia

Emerald Systems Sdn Bhd Logo

Introduction to Verilog

Introduction to verilog is offered by emerald systems sdn bhd. Most of our training customers are from the industry, whereby we conduct custom-tailored training to meet the specific needs and requirements of the industry.

by Emerald Systems Sdn Bhd [Claim Listing ]
Centrilinc Logo

Java SE 7 (Fundamentals)

Java SE 7 course is offered by Centrilinc. User application software training has been one of our core business focus. Our application courses were developed, and are consistently updated to meet the current, and practical need of the local workforce.

by Centrilinc [Claim Listing ]
UniKL Logo

MATLAB Workshop

MATLAB course is offered by UniKL. Strengthen your resume and broaden your understanding of key concepts to reach your professional and personal goals.

by UniKL [Claim Listing ]
G-Tec Computer Education Sdn. Bhd Logo

C-Programming

This course is mainly for those who are just starting the programming in C. In this course we are covering all the fundamentals concepts in detail. The beginners will get good foundation of C programming after the course.

by G-Tec Computer Education Sdn. Bhd [Claim Listing ]
UK Trainer Plt Logo

Java Programming (Competent)

Java Programming training is offered by UK Trainer Plt. UK Trainer Plt is a company providing assistance and guidance to his customers by providing excellent training, consultancy, certification & technical advice; specific to customer’s industrial needs in each organization and Management syst...

by UK Trainer Plt [Claim Listing ]

© 2025 coursetakers.com All Rights Reserved. Terms and Conditions of use | Privacy Policy