Audience profile
In this course, you will gain the programming skills that are required for developers to create Windows applications using the Visual C# language. During their five days in the classroom students review the basics of Visual C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework 4.7.
This course uses Visual Studio 2017 running on Windows 10.
Course outline
Visual C# Syntax
- Writing Applications Using C#
- Datatypes, Operators, and Expressions
- C# Programming Language Constructs
Creating Methods, Handling Exceptions, and Monitoring Applications
- Creating and Invoking Methods
- Creating Overloaded Methods and Using Optional and Output Parameters
- Handling Exceptions
- Monitoring Applications
Basic types and constructs of Visual C#
- Implementing Structs and Enums
- Organizing Data into Collections
- Handling Events
Creating Classes and Implementing Type-Safe Collections
- Creating Classes
- Defining and Implementing Interfaces
- Implementing Type-Safe Collections
Creating a Class Hierarchy Using Inheritance
- Creating Class Hierarchies
- Extending .NET Framework Classes
Reading and Writing Local Data
- Reading and Writing Files
- Serializing and Deserializing Data
- Performing I/O Using Streams
Accessing a Database
- Creating and Using Entity Data Models
- Querying Data Using LINQ
Accessing Remote Data
- Accessing Data Across the Web
- Accessing Data in the OData Connected Services
Designing the User Interface for a Graphical Application
- Using XAML to Design a User Interface
- Binding Controls to Data
Improving Application Performance and Responsiveness
- Implementing Multitasking
- Performing Operations Asynchronously
- Synchronizing Concurrent Access to Data
Integrating with Unmanaged Code
- Creating and Using Dynamic Objects
- Managing the Lifetime of Objects and Controlling Unmanaged Resources
Creating Reusable Types and Assemblies
- Examining Object Metadata
- Creating and Using Custom Attributes
- Generating Managed Code
- Versioning, Signing, and Deploying Assemblies
Encrypting and Decrypting Data
- Implementing Symmetric Encryption
- Implementing Asymmetric Encryption