Object-Oriented Programming in C# VS2017

Request more details:

Description:
This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by .NET. This course emphasizes the C# language. It is current to Visual Studio 2017, .NET Framework 4.7 and C# 7.0. 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 by covering covering the newer features in the language through C# 7.0.
Prerequisites:
Participants should have programming experience in a high-level language. 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#.
LEARNING OBJECTIVES:
· Acquire a working knowledge of C# programming
· Learn how to implement programs using C# and classes from the .NET Framework
· Learn how to 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.
· Learn how to do asynchronous programming using new keywords in C# 5.0.
· Become aware of new features in C# 6.0 and C# 7.0.
NET: What You Need To Know:
.NET Executables and the CLR
A .NET Testbed for C# Programming
Using Visual Studio 2017
First C# Programs:
Hello, World
Namespaces
Variables and Expressions
Using C# as a Calculator
Input/Output in C#
.NET Framework Class Library
Data Types in C#:
Data Types
Integer Types
Floating Point Types
Decimal Type
Characters and Strings
Boolean Type
Conversions
Nullable Types
Operators and Expressions:
Operator Cardinality
Arithmetic Operators
Relational Operators
Logical Operators
Bitwise Operators
Assignment Operators
Expressions
Checked and Unchecked
Control Structures:
If Tests
Loops
Arrays
Foreach
More about Control Flow
Switch
Object-Oriented Programming:
Objects
Classes
Inheritance
Polymorphism
Object-Oriented Languages
Components
Classes:
Classes as Structured Data
Methods
Constructors and Initialization
Static Fields and Methods
Constant and Readonly
More about Types:
Overview of Types in C#
Value Types
Boxing and Unboxing
Reference Types
Implicitly Typed Variables
Methods, Properties and Operators:
Methods
Parameter Passing
Method Overloading
Variable-Length Parameter Lists
Properties
Auto-Implemented Properties
Operator Overloading
Characters and Strings:
Characters
Strings
String Input
String Methods
StringBuilder Class
Programming with Strings
Arrays and Indexers:
Arrays
System.Array
Random Number Generation
Jagged Arrays
Rectangular Arrays
Arrays as Collections
Bank Case Study—Step 1
Indexers
Inheritance:
Arrays
System.Array
Random Number Generation
Jagged Arrays
Rectangular Arrays
Arrays as Collections
Bank Case Study—Step 1
Indexers
Virtual Methods and Polymorphism:
Virtual Methods and Dynamic Binding
Method Overriding
Fragile Base Class Problem
Polymorphism
Abstract Classes
Sealed Classes
Heterogeneous Collections
Bank Case Study—Step 3
Formatting and Conversion:
ToString
Format Strings
String Formatting Methods
Bank Case Study—Step 4
Type Conversions
Exceptions:
Exception Fundamentals
Structured Exception Handling
User-Defined Exception Classes
Inner Exceptions
Bank Case Study—Step 5
Interfaces:
Interface Fundamentals
Programming with Interfaces
Using Interfaces at Runtime
Bank Case Study—Step 6
Resolving Ambiguities
.NET Interfaces and Collections:
Collections
Bank Case Study—Step 7
IEnumerable and IEnumerator
Copy Semantics and ICloneable
Comparing Objects
Generic Types
Type-Safe Collections
Object Initializers
Collection Initializers
Anonymous Types
Bank Case Study—Step 8
Delegates and Events:
Delegates
Anonymous Methods
Lambda Expressions
Events
Introduction to Windows Forms:
Creating Windows Applications Using Visual Studio 2017
Partial Classes
Buttons, Labels and Textboxes
Handling Events
Listbox Controls
Newer Features in C#:
Dynamic Data Type
Named Arguments
Optional Arguments
Variance in Generic Interfaces
Asynchronous Programming Keywords
New Features in C# 6.0 and C# 7.0