Object-Oriented Programming in C# Training in Salem
| 
                	 We offer private customized training for groups of 3 or more attendees.
                 | ||
| Course 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 2022, .NET 6 and C# 10. Important newer features such as dynamic data types, named and optional arguments, tuples, asynchronous programming keywords, nullable reference types, record types, and top-level statements are covered. Supplements provide a tutorial on Visual Studio 2022, an overview of LINQ, and coverage of unsafe code and pointers in C#. 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 chapter covering the newer features in the language. Numerous programming examples and exercises are provided, including the case study. The student will receive a comprehensive set of materials, including course notes and all the programming examples. 
                        Course Length: 5 Days Course Tuition: $2250 (US) | ||
| Prerequisites | |
| The student should have programming experience in a high-level language. | |
| Course Outline | 
| 
	Introduction to NET 
	What is .NET? 
	.NET Framework, NET Core and .NET 6 
	Application Models 
	Managed Code 
	Visual Studio 2022 
	Console Programs and New Console Template 
	GUI Programs 
	First C# Programs 
	Hello, World 
	Namespaces 
	Variables and Expressions 
	Using C# as a Calculator 
	Input/Output in C# 
	.NET 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 
	Single Inheritance 
	Access Control 
	Method Hiding 
	Initialization 
	Bank Case Study—Step 2 
	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 2019 
	Partial Classes 
	Buttons, Labels and Textboxes 
	Handling Events 
	Listbox Controls 
	Newer Features in C# 
	Dynamic Data Type 
	Named and Optional Arguments 
	Variance in Generic Interfaces 
	Asynchronous Programming Keywords 
	New Features in C# 6 and C# 7 
	Nullable Reference Types 
	Record Types 
	Top-level Statements 
	Appendix A.  Learning Resources 
	Electronic File Supplements 
	Supplement 1. Using Visual Studio 2022 
	Signing into Visual Studio 
	Overview of Visual Studio 2022 
	Creating a Console Application 
	Project Configurations 
	Debugging 
	Multiple-Project Solutions 
	Supplement 2.  Language Integrated Query (LINQ) 
	What Is LINQ? 
	Basic Query Operators 
	Filtering 
	Ordering 
	Aggregation 
	Supplement 3.  Unsafe Code and Pointers in C# 
	Unsafe Code 
	C# Pointer Type | 
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- AI Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Azure Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Data Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- SAS Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
- RED HAT ENTERPRISE LINUX SYSTEMS ADMIN I 
 3 November, 2025 - 7 November, 2025
- Python for Scientists 
 8 December, 2025 - 12 December, 2025
- Object-Oriented Programming in C# Rev. 6.1 
 17 November, 2025 - 21 November, 2025
- ASP.NET Core MVC (VS2022) 
 24 November, 2025 - 25 November, 2025
- RHCSA EXAM PREP 
 17 November, 2025 - 21 November, 2025
- See our complete public course listing 
csharp Uses & Stats
| Difficulty | Popularity | Year Created2000 | 
| Pros 
	In Demand:  
	C# along with Java is one of the top languages in demand for employers.  
	.Net Library: 
	C# is integrated with the .Net Library thereby providing access to a vast archive of functionality and support.  
	Team Friendly: 
	Multiple developers can easily work together on a project.  
	Compiled Language: 
	The code that is stored on a public-facing server is in binary form. In other words, if your server gets hacked, the hacker doesn't automatically have access to your source code.  
	Transferable: 
	C# roots are derived from C which means that the structure is transferable to other languages like Java, Objective C, PHP and C++.  | Cons 
	Steep Learning Curve: 
	Windows Application Exclusively: 
	Any .NET application needs a Windows platform to execute which means that companies using Linux servers would need Windows hosting to run a .Net application.  
	Lack of Support for Older .NET: 
	Many enterprise organizations keep older operating systems because of the many problems that an upgrade can bring to the platform. Microsoft stops supporting older .NET frameworks after a few operating systems upgrades.  | 
| csharp Job Market | 
|   Average Salary |   Job Count |   Top Job Locations 
	New York City  | 
| Complimentary Skills to have along with csharp Since the .NET development ecosystem spans a wide array of capabilities and tools, it is difficult for .NET developers to know which .NET development skills and training to pursue in order to increase their marketability — and earning potential. For that reason, learning supplemental languages such as Java, JavaScript, Python, C/C++, and others is expected in today’s competitive skill-set driven playing field. | 







