This thorough and comprehensive C# course is a practical introduction to programming in C#, utilizing the services provided by .NET. This course emphasizes the C# language.Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, asynchronous programming keywords, and tuples are covered in a final lesson. A supplement covers the fundamentals of Language Integrated Query (LINQ).
This course is intended to be fully accessible to programmers who do not already have a strong background in object-oriented programming in C-like languages, such as C++ or Java. It is ideal, for example, for procedural programmers who desire to learn C#.
An important thrust of the course is to teach C# programming from an object-oriented perspective. It is often difficult for programmers trained originally in a procedural language to start “thinking in objects.” This course introduces object-oriented concepts early, and C# is developed in a way that leverages its object orientation. A case study is used to illustrate creating a complete system using C# and .NET. Besides supporting traditional object-oriented features, such as classes, inheritance, and polymorphism, C# introduces several additional features, such as properties, indexers, delegates, events, and interfaces that make C# a compelling language for developing object-oriented and component-based systems. This course provides thorough coverage of all these features.
C# as a language is elegant and powerful. But to utilize its capabilities fully, you need to have a good understanding of how it works with the .NET Framework. The course explores several important interactions between C# and the .NET Framework, and it includes an introduction to major classes for collections, delegates, and events. It includes a succinct introduction to creating GUI programs using Windows Forms. The course concludes with a lesson covering the newer features in the language through C# 7.0.
Delegates will learn how to
- Acquire a working knowledge of C# programming.
- implement programs using C# and classes from the .NET Framework.
- implement simple GUI programs using Windows Forms.
- Gain a working knowledge of dynamic data type, named and optional arguments, and other new features in C# 4.0.
- do asynchronous programming using new keywords in C# 5.0.
- Become aware of new features in C# 6.0 and C# 7.0.