Paths
C#
C# is the most commonly used language for leveraging the .NET Framework. As such, learning C# is a springboard to creating enterprise systems, desktop applications, websites and... Read more
Beginner
Do you want to become productive with C#? This beginner area is the perfect place to start. These C# tutorials are designed to give you everything you need to become a productive C# developer. By the end of this section, you’ll have a firm understanding of the C# syntax, object-oriented programming and valuable insights on how things work under the hood.
C# Fundamentals with Visual Studio 2015
Beginner • 5h 21m
Description
Hello, and welcome to Pluralsight! My name is Scott Allen, and I want to give you a quick overview of my course, C# Fundamentals with Visual Studio 2015. It’s designed to help you learn the essential topics you need for developing with the C# programming language, and covers things building classes, programing with objects, and working with interfaces using the C# language. Along the way, you’ll be using C#, Visual Studio and .NET. When you’re done, you’ll be ready to to tackle your own projects in the C# programming language. From there, you can start exploring working with nulls in C#, as well as designing fluent APIs. I look forward to working with you on C# Fundamentals with Visual Studio 2015, here at Pluralsight.
Table of contents
- Course Overview1m 19s
- An Introduction to C# and .NET42m 37s
- Classes and Objects48m 3s
- Assemblies36m 2s
- Types49m 40s
- Methods, Fields, Events, and Properties46m 26s
- Control Flow53m 1s
- Object Oriented Programming44m 37s
C# Equality and Comparisons
Intermediate • 4h 51m
Description
In this course, you'll learn how to use equality and comparisons correctly in your C# code: both how they work out of the box, and how to implement equality and comparisons for your own types. The course also covers working with inheritance, string comparisons, writing custom comparers and equality comparers, hash codes, and structural comparisons.
Table of contents
- Why Is Equality So Hard?28m 10s
- Equality in .NET27m 22s
- The C# Equality Operator31m 1s
- Implementing Equality for Value Types16m 53s
- Implementing Equality for Reference Types34m 39s
- Comparisons in .NET31m 36s
- Equality and Comparisons for Strings37m 6s
- Comparers and Equality Comparers42m 12s
- Hash Codes and Hashtables25m 46s
- Structural Equality and Comparisons16m 27s
C# Collections Fundamentals
Intermediate • 5h 56m
Description
This course aims to empower you to take advantage of the surprisingly rich set of collections that are available in C#. You'll learn how to use the various collection types to store data as arrays, lists, dictionaries, linked lists, or sets, as well as how to customize collection behavior in C#. You'll also learn how many of these types work under the hood and the implications for performance. This course also covers enumerators and the collection interfaces.
Table of contents
- Course Welcome4m 27s
- Introducing C# Collections31m 44s
- Inside Arrays49m 11s
- The Array Type41m 49s
- Collection Interfaces32m 54s
- Lists38m 1s
- Linked Lists, Stacks and Queues26m 53s
- Dictionaries45m 54s
- Sets26m 50s
- Enumerators35m 52s
- Multidimensional Arrays, Rank and Bounds22m 50s
Intermediate
Once you have a strong foundation with C#, you can now start fine tuning your skills to create code that is more maintainable, extensible and easily testable. The C# courses in this section will provide everything you need to know to become a C# pro.
C# Interfaces
Intermediate • 2h 52m
Description
Do you want code that's maintainable, extensible, and easily testable? If so, then C# interfaces are here to help. In this course, we’ll take a look at how we can use interfaces effectively in our code. We'll start at the beginning ("What are interfaces?") and then explore why we want to use them. Along the way we'll create and implement own interfaces, see how to explicitly implement interfaces, and take a look at dynamic loading, unit testing, and dependency injection. All of which is made possible with interfaces.
Table of contents
- Interfaces, Abstract Classes, and Concrete Classes22m 17s
- Using Interfaces to Future-Proof Code22m 16s
- Creating Interfaces to Add Extensibility37m 41s
- Explicit Interface Implementation22m 10s
- Interfaces and Dynamic Loading37m 31s
- Advanced Topics30m 54s
C# Best Practices: Collections and Generics
Beginner • 3h 35m
Description
When building applications we often deal with groups of things: a user's preferences, a customer's orders, or a product's color choices. To implement these groups of things in C#, we use collections. And to get the most from collections, we need to leverage generics. This course covers how, when, why, and best practices for using C# collections and generics, including arrays, generic interfaces, LINQ, delegates, and Lambda expressions.
Table of contents
- Course Overview1m 30s
- Introduction12m 15s
- Arrays24m 34s
- Building Generic Code with Generics30m 32s
- Generic Lists35m 22s
- Generic Dictionaries33m 3s
- Generic Collection Interfaces44m 16s
- LINQ27m 45s
- Final Words6m 11s
C# Events, Delegates and Lambdas
Intermediate • 3h 11m
Description
Events, delegates and lambdas play an important role in the .NET framework but can be difficult to understand as developers first get started with the C# language. If you’re interested in gaining a more thorough understanding of how these C# technologies work then you’re in the right place! This course focuses solely on events, delegates and lambdas and provides insight into how they can be used in your .NET applications using the C# language.
Table of contents
- The Role of Events, Delegates and Event Handlers24m 23s
- Creating Delegates, Events and EventArgs54m 47s
- Handling Events21m 14s
- Lambdas, Action<T> and Func<T,TResult>36m 51s
- Events and Delegates in Action54m 14s
C# Extension Methods
Intermediate • 3h 9m
Description
Extension methods are a powerful C# feature which are underused and often misunderstood. In this course you’ll learn all about writing, using and organizing extension methods, how the CLR implements them and what scenarios they enable. We’ll build a library of key extension methods you can use in your own projects to make your code cleaner, safer and more maintainable.
Table of contents
- Introducing Extension Methods51m 17s
- Advanced Extension Methods (part 1)32m 47s
- Advanced Extension Methods (part 2)37m 24s
- Extension Method Library (part 1)37m 21s
- Extension Method Library (part 2)31m 2s
Practical LINQ
Intermediate • 3h 32m
Description
This course covers practical uses of Language Integrated Query (LINQ). With LINQ, you can search, sort, create, compare and analyze your data. And you can use LINQ to manipulate and shape your data for display in a user interface. With its common syntax, strong typing, Intellisense support, and transformational features, like the internet, you'll wonder how you ever coded without it. Enjoy!
Table of contents
- Overview5m 21s
- LINQ By Example35m 43s
- More LINQ Examples1h 7m 28s
- Data Binding58m 50s
- Analyzing Data43m 32s
- Summary2m 1s
Object-Oriented Programming Fundamentals in C#
Beginner • 4h 22m
Description
This course takes you through the principles and practices of object-oriented programming (OOP). The course provides you with the firm foundation in OOP that you need to progress to intermediate-level C# courses. It begins by showing you how to turn a set of words into a set of well-defined and related classes. Through demonstrations, it teaches you key object-oriented concepts such as abstraction, encapsulation, inheritance, polymorphism, and interfaces.
Table of contents
- Introduction16m 30s
- Identifying Classes From Requirements20m 36s
- Building Entity Classes - Part 135m 46s
- Building Entity Classes - Part 219m 8s
- Separating Responsibilities20m 42s
- Establishing Relationships41m 3s
- Leveraging Reuse35m 11s
- Building Reusable Components32m 5s
- Understanding Interfaces31m 49s
- Final Words and Next Steps9m 56s
Defensive Coding in C#
Intermediate • 4h 32m
Description
You will learn how to write clean, maintainable, and testable code when faced with constantly changing requirements, legacy issues, intensive time pressures, and a rapidly evolving environment. You will also learn how to keep that code great after maintenance activities, multiple developers, and the ravages of time.
Table of contents
- Introduction16m 14s
- Defending Your Methods - Part 157m 7s
- Defending Your Methods - Part 223m 45s
- Automated Code Testing46m 58s
- Defending Your Methods Part 3: Returning Predictable Results32m 36s
- Defending Your Code Constructs32m 29s
- Asserts, Errors, and Exceptions54m 29s
- Final Words9m 7s
Advanced
The .NET framework is huge, and it’s sometimes hard to know what you don’t know. Our advanced section of courses in this path have you covered. Whether you’re still learning C# or you’re a seasoned professional, you’ll find valuable pieces of information here that will keep you learning. Our “tips and traps” series will give you useful knowledge to make you more productive, and our language internals series will make you a well-informed wizard of debugging and performance.
Getting Started with Asynchronous Programming in .NET
Beginner • 2h 1m
Description
In this course, we will cover the way to get started with asynchronous programming in .NET. You will learn how to apply these patterns in new and existing applications and you will see how to avoid the common mistakes.
Table of contents
- Introduction14m 58s
- Understanding the Need for Asynchronous Code22m 5s
- Applying Asynchronous Programming in .NET53m 58s
- Deadlocking, State Machines, and What Really Goes On30m 40s
C# Concurrent Collections
Advanced • 3h 32m
Description
Learn how to use concurrent collections in multithreaded code! This course is a comprehensive introduction to the concurrent collections. It shows you how to use each of the main collection types: ConcurrentDictionary, ConcurrentQueue, ConcurrentBag, and ConcurrentStack. You'll learn the correct techniques for using these collections to avoid bugs such as race conditions, and also how to use BlockingCollection with the concurrent collections correctly in producer-consumer scenarios. The course rounds off with a look at some concurrent collection best practices.
Table of contents
- Introducing the Concurrent Collections43m 36s
- Introducing ConcurrentDictionary40m 24s
- Concurrent Dictionary Demo38m 41s
- The Producer-Consumer Collections: Queues, Stacks and Bags23m 8s
- Producer-consumer and BlockingCollection Demo27m 28s
- Some Concurrent Collections Best Practices38m 47s
C# Tips and Traps
Intermediate • 3h 57m
Description
Whether you're still learning C# or you already have some experience, it's sometimes hard to know what you don't know. This course is designed to short-circuit your C# learning and provides a whole host of useful information about the sometimes under-used or unknown features of both the C# language and the .Net framework. It's suitable for those who are brand new to C# as well as experienced developers looking to "round off" their C# skills and "fill in the gaps".
Table of contents
- Part I33m 43s
- Part II41m 3s
- Part III40m 32s
- Part IV41m 3s
- Part V32m 22s
- Part VI48m 51s
C# Tips and Traps 2
Intermediate • 2h 43m
Description
Whether you're still learning C# or you already have some experience, it's sometimes hard to know what you don't know. This is the follow-up course to C# Tips and Traps and is designed to further short-circuit your C# learning and provides a whole host of useful information about the sometimes under-used or unknown features of both the C# language and the .Net framework. It's suitable for those who are brand new to C# as well as experienced developers looking to "round off" their C# skills and "fill in the gaps".
Table of contents
- Part I39m 22s
- Part II42m 49s
- Part III35m 4s
- Part IV46m
C# Language Internals - Part 1
Advanced • 5h 10m
Description
This course takes .NET developers behind the scenes of C# language features to gain a deeper understanding of the language, the Intermediate Language (IL) it compiles into, and the Common Language Runtime (CLR) it runs on. By studying language internals, you can make well-informed design choices, solve hard debugging puzzles quicker, and understand the performance ramifications of using various language features. This is the first part of a two-part course.
Table of contents
- Essential Techniques27m 47s
- The CLR and IL in a Nutshell41m 24s
- C# Compiler Tidbits40m 3s
- Performance of Imperative C# Code40m 47s
- Performance of Functional C# Code40m 35s
- Leveraging C# Extensibility Points, Part 140m 17s
- Leveraging C# Extensibility Points, Part 238m 45s
- Generics Behind the Scenes40m 59s
C# Language Internals - Part 2
Advanced • 4h 39m
Description
In the second part of this course, we take .NET developers behind the scenes of advanced C# language features to get a deeper insight into the language, the Intermediate Language (IL) it compiles into, and the Common Language Runtime (CLR) it runs on. By studying language internals, you can make better design choices involving advanced language features, solve hard debugging puzzles quicker, and understand the performance ramifications of these language features. This is the second part of a two-part course.
Table of contents
- Investigating Iterators38m 21s
- Asynchronous Methods38m 27s
- Expression Trees42m 5s
- Dynamic Programming in C#39m 57s
- Hidden Gems in System.Runtime.CompilerServices38m 55s
- COM Interop, No PIA, and WinRT42m 22s
- Not-So Secret Language Features38m 50s
What you will learn
- C# syntax
- Object oriented paradigm
- Comparisons in .Net
- Hash codes and Hashtables
- Arrays, lists, dictionaries, linked lists, and sets
- Interfaces
- Generics
- Events, delegates, and lambdas
- LINQ
- Asynchronous Programming
- CLR and compiler
- Extensibility Points
Pre-requisites
No prior C# knowledge or experience is needed. Some understanding of common programming concepts, such as variables and looping, will be helpful.
Register for FREE. Get your Pluralsight IQ.
You’ll get unlimited access to adaptive skill assessments that help you validate your skills in as little as 5 minutes, and you'll get to see the Pluralsight platform first-hand.
