C# Essentials

Current Version: 4.8
Summary

Microsoft .NET is an advance in programming technology that greatly simplifies application development, both for traditional, proprietary applications and for the emerging paradigm of Web-based services. .NET is a complete restructuring of Microsoft's entire system infrastructure and represents a major learning challenge for programmers developing applications on Microsoft platforms.

This two-day intensive course is designed for the experienced programmer to help you quickly come up to speed on the C# language. It is current to Visual Studio 2017, .NET Framework 4.7 and C# 7. 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 chapter. An appendix covers the fundamentals of Language Integrated Query (LINQ).

This course concisely covers the essentials of programming using Microsoft's C# programming language. It starts with a brief chapter, ".NET: What You Need to Know, which gets you up and running in the .NET environment with a minimum of fuss. The next two chapters cover C# language essentials and object-oriented programming in C#. The next chapter discusses how C# relates to the .NET Framework. The following chapter covers delegates and events. The course includes a succinct introduction to creating GUI programs using Windows Forms. The course concludes with a chapter covering the newer features in C#. Appendices provide a tutorial on Visual Studio 2017, an overview of LINQ, coverage of unsafe code and pointers in C#, and using .NET Framework 4.7.

The course is practical, with many example programs and a progressively developed case study. The goal is to quickly bring you up to speed in writing C# programs. The student will receive a comprehensive set of materials, including course notes and all the programming examples.

Prerequisites
  • The student should be an experienced application developer or architect. Some background in object-oriented programming would be helpful.
Course Objectives
On completion of this course, the student should be able to
  • Acquire a working knowledge of C# programming
  • Learn about important interactions between C# and 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
Length
2 Days

Format
Instructor-led course, with practical computer-based exercises.

Course Outline

  • 1. NET: What You Need to Know
    • .NET Executables and the CLR
    • A .NET Testbed for C# Programming
    • Using Visual Studio 2017

  • 2. C# Overview for the Sophisticated Programmer
    • First C# Console Application
    • Namespaces
    • Data Types
    • Conversions
    • Control Structures
    • Subroutines and Functions
    • Parameter Passing
    • Strings
    • Arrays
    • Implicitly Typed Variables
    • Console I/O
    • Formatting
    • Exception Handling

  • 3. Object-Oriented Programming in C#
    • Classes
    • Access Control
    • Methods and Properties
    • Asymmetric Accessor Accessibility
    • Static Data and Methods
    • Constant and Readonly Fields
    • Auto-Implemented Properties
    • Inheritance
    • Overriding Methods
    • Abstract Classes
    • Sealed Classes
    • Access Control and Assemblies

  • 4. C# and the .NET Framework
    • Components
    • Interfaces
    • System.Object
    • .NET and COM
    • Collections
    • IEnumerable and IEnumerator
    • Copy Semantics in C#
    • Generic Types
    • Type-Safe Collections
    • Object Initializers
    • Collection Initializers
    • Anonymous Types
    • Attributes

  • 5. Delegates and Events
    • Delegates
    • Anonymous Methods
    • Lambda Expressions
    • Random Number Generation
    • Events

  • 6. Introduction to Windows Forms
    • Creating Windows Applications Using Visual Studio 2017
    • Partial Classes
    • Buttons, Labels and Textboxes
    • Handling Events
    • Listbox Controls

  • 7. 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 7.0
    • Appendix A. Using Visual Studio 2017
    • Signing in to Visual Studio
    • Overview of Visual Studio 2017
    • Creating a Console Application
    • Project Configurations
    • Debugging
    • Multiple-Project Solutions
    • Appendix B. Language Integrated Query (LINQ)
    • What Is LINQ?
    • Basic Query Operators
    • Filtering
    • Ordering
    • Aggregation
    • Appendix C. Unsafe Code and Pointers in C#
    • Unsafe Code
    • C# Pointer Type
    • Appendix D. Using .NET Framework 4.7
    • Installing .NET Framework 4.7
    • DirectX Dependency
    • New Features in .NET 4.7
    • Appendix E. Learning Resources

Hardware and Software Requirements

Course examples require Microsoft Visual Studio 2017 and Windows 7sp1 or higher. The free Visual Studio Community 2017 can be used. For .NET 4.7 support the .NET Framework 4.7 Developer Pack is required. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 2 GB of RAM (4 GB recommended), and at least 10 GB of free disk space for tools installation and courseware.



Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4

Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7

Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11

Go to course catalogue