The C# Programming Language
Course
In London-City, Birmingham, Newcastle and another venue.
Description
-
Type
Course
-
Location
Overview Microsoft’s .NET Framework presents 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 core language skills and OO programming concepts. This intensive course is intended for developers who will use C# to write .NET Framework applications and who are relatively new to the C# programming language. It concentrates on the C# programming language itself, to prepare delegates fully in readiness for exploring the .NET Framework. 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. Delegates looking to migrate their existing Java and/or C skills to C# should attend our course – Migrating to C# 4.0 for Java and C developers. The course is presented as a mixture of lectures, demos and hands-on exercises. Practical sessions follow all main topics, designed to reinforce the points covered. Additional information is provided in appendices to extend the learning experience after the course has been completed. The course provides a 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 Delegates will learn how toWrite efficient procedural code that includes sequence, selection and iteration constructsCreate and use classes and structures (types), including fields, properties and methodsUse private, internal, protected and public visibility modifiersUse exception-handling to create robust applicationsCreate derived classes that inherit from custom-written or .NET Framework...
Facilities
Location
Start date
Start date
Start date
Start date
Start date
About this course
PrerequisitesDelegates must understand the fundamentals of programmingThis is a course for developers
Reviews
Subjects
- Programming
- Private
- Public
- Syntax
- C programming
- Java
Course programme
Course Outline
Module 1: Introduction to .NET Visual Studio & C#
- The .NET Framework; The Common Language Runtime; The Common Type System
- C# Features; Introduction to namespaces and assemblies
Module 2: Syntax I
- Procedures and statements; Data types; Declaring variables; Assignments
- Conversion; Arithmetic and other operators
- Control constructs
- Passing parameters by value, by reference, named and optional parameters
Module 3: Syntax 2
- Type concepts; Classes; Reference types
- Fields, properties and methods
- Accessibility modifiers
- Object initialisation, Constructors and Constructor chaining
- Instance members; Keyword ‘this’
- The ‘null’ reference
- Nullable types
- const & readonly
- Enumerated types
- Partial classes
- Boxing / UnBoxing issues
Module 4: Exception Handling
- Errors vs. Exceptions; The ‘try’ block; The ‘catch’ block; The ‘finally’ block; Using ‘throw’
- Creating your own exceptions; ‘checked’ and ‘unchecked’ expressions.
Module 5: Collections
- Arrays
- Generic Collections
- Iterating collections
- Generic Methods
- Constraints on Generics
Module 7: Inheritance & Polymorphism
- Concept of inheritance; Substitutability; Extending a simple class
- ‘virtual’, ‘override’ and ‘sealed’ modifiers
- Polymorphism;
- Upcasting and safe downcasting
- Behaviours of class String
Module 8: Abstract Classes & Interfaces
- Abstract classes; Abstract methods and properties
- Polymorphism with interfaces; Multiple interfaces
Module 9: Delegates
Delegates explained; Working with delegates; Creating your own delegate types
Module 10: Lambda expresssions
Understanding Lambdas
Module 11: LINQ
- Understanding the language features behind LINQ
- The LINQ API and query pattern
- Grouping and Joins
- Demo of LINQ to Entities
Module 12: More LINQ to XML
- An overview of LINQ to XML
- XElement construction
- Navigating XML structures
Module 13: Events
- Understanding events in .NET
- The event conventions
- Writing events as lambda expressions
Module 14: The Way Ahead
- Review
- Follow-on courses
Appendix Module A: Working with Text
Class String; Class StringBuilder; Formatting Strings; Regular Expressions
Appendix Module C: Operator Overloading
- Why operator overloading is useful; When to overload
- Implicit conversions; explicit conversions
Appendix Module D: Namespaces & Assemblies
- Namespaces; The ‘using’ statement for namespaces; Assemblies
- DLLs at compile time and run Time; The Global Assembly Cache (GAC)
- Versioning using public/private key cryptography
Appendix Module E: Managing Resources
- Garbage collection and its impacts; Finalizers; The ‘Dispose’ pattern; IDisposable
- The using statement
The C# Programming Language