C# is the newest member of the venerable C family of programming languages and one of the primary languages used to develop applications for the Microsoft .NET platform. C# is the language of choice for C, C++, and Java programmers moving to .NET. It will also be attractive to those coming from other backgrounds because it combines the concise syntax common to all C-family languages with the power, safety, and rapid application development traditionally enjoyed by the VB world.
C# provides all the features expected of a modern object-oriented programming language: class, interface, inheritance, polymorphism, encapsulation, etc. In addition, the language offers some new and powerful innovations such as properties, indexers, delegates, events, and attributes.
Programming C# spends the majority of its time on the C# language. It moves quickly through the basics so it can cover the most important features in depth. C# 2.0 features such as generics, partial classes, static classes, global namespace qualification, etc. are integrated throughout the course.
To put the language in context, the course includes several .NET platform topics. We discuss the .NET type system (the universal base class Object, reference types, value types). We survey the software development cycle (code, compile, deploy, execute). We look at platform support for execution (Common Language Runtime, garbage collection, finalization). We finish with the most common topic from the .NET Framework class library – string handling.
Course Highlights
- Build and deploy a .NET application using Visual Studio.
- Examine core language features such as types, variables, and control constructs.
- Study object oriented features such as class, interface, protection, and inheritance.
- Use properties to implement the private data, public accessor pattern.
- Use indexers to support array-like access for your types.
- Perform error notification and error handling using exceptions.
- Group related types using namespace.
- Use delegates and events to implement callbacks.
- Study the Object class and the unified type system.
- Study value types, boxing, and unboxing.
- Use assembly strong names to avoid dll conflicts during deployment.
- Overload operators to work with user defined types.
- Use dynamic binding and polymorphism to write generic code.
- Distinguish between "implementation inheritance" and "interface inheritance".
- Implement type-safe collections with generics.
- See how value types reduce memory management overhead.
- Discuss language and platform support for object finalization.
- Compare the efficiency of the two common string-handling types.
Pre-Requisites
This course covers a lot of material in a short time so a strong programming background in another high-level language is required. The difficulty level is ideal for programmers coming from VB6, Pascal, C, etc. If you come from a mainframe or scripting background, the course will be very challenging – you should study an introductory programming text before attending. If you have some C++ or Java experience, some of the material will be familiar, but the course will still be quite beneficial. If you have extensive C++ or Java experience, you may already know most of the concepts – you could study C# on your own and move directly into our Essential .NET course.
About Us
DevelopMentor is a high-quality developer education company with a unique combination of exceptional staff, content delivery options, and a developer-centric learning environment that sets it apart from other training organizations in the software development industry. We provide in-depth training for experienced developers looking to expand their knowledge while gaining new skills efficiently and effectively. Our training courses and events feature the most current information available; all course materials are written by our own independent technical staff, so there is no vendor bias or marketing hype
About the Training Centre
Our training facilities are equipped with a comfortable workspace for each student, including a PC running the latest releases of both Windows and the appropriate development environment for the course--so you can learn and do your best creative work. Instructors are prepared to do much more than just read off the slides; they take a genuine interest in each student and take the time to specifically address the many programming challenges developers face on a daily basis. If you have a group of developers to train, we can bring our course to your facility, and we can customize course content to suit your needs.