Paths

C#

Authors: Scott Allen, Filip Ekberg, Simon Robinson, Dan Wahlin, Jason Roberts, Elton Stoneman, Deborah Kurata, Jeremy Clark, Bart De Smet

C# is the most commonly used language for leveraging the .NET Framework. As sach, 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.

1

C# Fundamentals with Visual Studio 2015

by Scott Allen

Sep 25, 2015 / 5h 21m

Beginner • 5h 21m

Start Course
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
  1. Course Overview
    1m 19s
  2. An Introduction to C# and .NET
    42m 37s
  3. Classes and Objects
    48m 3s
  4. Assemblies
    36m 2s
  5. Types
    49m 40s
  6. Methods, Fields, Events, and Properties
    46m 26s
  7. Control Flow
    53m 1s
  8. Object Oriented Programming
    44m 37s
2

C# Equality and Comparisons

by Simon Robinson

Sep 10, 2014 / 4h 51m

Intermediate • 4h 51m

Start Course
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
  1. Why Is Equality So Hard?
    28m 10s
  2. Equality in .NET
    27m 22s
  3. The C# Equality Operator
    31m 1s
  4. Implementing Equality for Value Types
    16m 53s
  5. Implementing Equality for Reference Types
    34m 39s
  6. Comparisons in .NET
    31m 36s
  7. Equality and Comparisons for Strings
    37m 6s
  8. Comparers and Equality Comparers
    42m 12s
  9. Hash Codes and Hashtables
    25m 46s
  10. Structural Equality and Comparisons
    16m 27s
3

C# Collections Fundamentals

by Simon Robinson

Apr 8, 2014 / 5h 56m

Intermediate • 5h 56m

Start Course
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
  1. Course Welcome
    4m 27s
  2. Introducing C# Collections
    31m 44s
  3. Inside Arrays
    49m 11s
  4. The Array Type
    41m 49s
  5. Collection Interfaces
    32m 54s
  6. Lists
    38m 1s
  7. Linked Lists, Stacks and Queues
    26m 53s
  8. Dictionaries
    45m 54s
  9. Sets
    26m 50s
  10. Enumerators
    35m 52s
  11. Multidimensional Arrays, Rank and Bounds
    22m 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.

4

C# Interfaces

by Jeremy Clark

Jul 2, 2013 / 2h 52m

Intermediate • 2h 52m

Start Course
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
  1. Interfaces, Abstract Classes, and Concrete Classes
    22m 17s
  2. Using Interfaces to Future-Proof Code
    22m 16s
  3. Creating Interfaces to Add Extensibility
    37m 41s
  4. Explicit Interface Implementation
    22m 10s
  5. Interfaces and Dynamic Loading
    37m 31s
  6. Advanced Topics
    30m 54s
5

C# Best Practices: Collections and Generics

by Deborah Kurata

Jan 27, 2016 / 3h 35m

Beginner • 3h 35m

Start Course
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
  1. Course Overview
    1m 30s
  2. Introduction
    12m 15s
  3. Arrays
    24m 34s
  4. Building Generic Code with Generics
    30m 32s
  5. Generic Lists
    35m 22s
  6. Generic Dictionaries
    33m 3s
  7. Generic Collection Interfaces
    44m 16s
  8. LINQ
    27m 45s
  9. Final Words
    6m 11s
6

C# Events, Delegates and Lambdas

by Dan Wahlin

Apr 26, 2013 / 3h 11m

Intermediate • 3h 11m

Start Course
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
  1. The Role of Events, Delegates and Event Handlers
    24m 23s
  2. Creating Delegates, Events and EventArgs
    54m 47s
  3. Handling Events
    21m 14s
  4. Lambdas, Action<T> and Func<T,TResult>
    36m 51s
  5. Events and Delegates in Action
    54m 14s
7

C# Extension Methods

by Elton Stoneman

Dec 16, 2013 / 3h 9m

Intermediate • 3h 9m

Start Course
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
  1. Introducing Extension Methods
    51m 17s
  2. Advanced Extension Methods (part 1)
    32m 47s
  3. Advanced Extension Methods (part 2)
    37m 24s
  4. Extension Method Library (part 1)
    37m 21s
  5. Extension Method Library (part 2)
    31m 2s
8

Practical LINQ

by Deborah Kurata

Sep 17, 2013 / 3h 32m

Intermediate • 3h 32m

Start Course
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
  1. Overview
    5m 21s
  2. LINQ By Example
    35m 43s
  3. More LINQ Examples
    1h 7m 28s
  4. Data Binding
    58m 50s
  5. Analyzing Data
    43m 32s
  6. Summary
    2m 1s
9

Object-Oriented Programming Fundamentals in C#

by Deborah Kurata

Jul 8, 2014 / 4h 22m

Beginner • 4h 22m

Start Course
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
  1. Introduction
    16m 30s
  2. Identifying Classes From Requirements
    20m 36s
  3. Building Entity Classes - Part 1
    35m 46s
  4. Building Entity Classes - Part 2
    19m 8s
  5. Separating Responsibilities
    20m 42s
  6. Establishing Relationships
    41m 3s
  7. Leveraging Reuse
    35m 11s
  8. Building Reusable Components
    32m 5s
  9. Understanding Interfaces
    31m 49s
  10. Final Words and Next Steps
    9m 56s
10

Defensive Coding in C#

by Deborah Kurata

May 9, 2014 / 4h 32m

Intermediate • 4h 32m

Start Course
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
  1. Introduction
    16m 14s
  2. Defending Your Methods - Part 1
    57m 7s
  3. Defending Your Methods - Part 2
    23m 45s
  4. Automated Code Testing
    46m 58s
  5. Defending Your Methods Part 3: Returning Predictable Results
    32m 36s
  6. Defending Your Code Constructs
    32m 29s
  7. Asserts, Errors, and Exceptions
    54m 29s
  8. Final Words
    9m 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.

11

Getting Started with Asynchronous Programming in .NET

by Filip Ekberg

Aug 12, 2015 / 2h 1m

Beginner • 2h 1m

Start Course
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
  1. Introduction
    14m 58s
  2. Understanding the Need for Asynchronous Code
    22m 5s
  3. Applying Asynchronous Programming in .NET
    53m 58s
  4. Deadlocking, State Machines, and What Really Goes On
    30m 40s
12

C# Concurrent Collections

by Simon Robinson

May 15, 2015 / 3h 32m

Advanced • 3h 32m

Start Course
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
  1. Introducing the Concurrent Collections
    43m 36s
  2. Introducing ConcurrentDictionary
    40m 24s
  3. Concurrent Dictionary Demo
    38m 41s
  4. The Producer-Consumer Collections: Queues, Stacks and Bags
    23m 8s
  5. Producer-consumer and BlockingCollection Demo
    27m 28s
  6. Some Concurrent Collections Best Practices
    38m 47s
13

C# Tips and Traps

by Jason Roberts

Aug 20, 2013 / 3h 57m

Intermediate • 3h 57m

Start Course
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
  1. Part I
    33m 43s
  2. Part II
    41m 3s
  3. Part III
    40m 32s
  4. Part IV
    41m 3s
  5. Part V
    32m 22s
  6. Part VI
    48m 51s
14

C# Tips and Traps 2

by Jason Roberts

Sep 18, 2013 / 2h 43m

Intermediate • 2h 43m

Start Course
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
  1. Part I
    39m 22s
  2. Part II
    42m 49s
  3. Part III
    35m 4s
  4. Part IV
    46m
15

C# Language Internals - Part 1

by Bart De Smet

Jan 29, 2014 / 5h 10m

Advanced • 5h 10m

Start Course
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
  1. Essential Techniques
    27m 47s
  2. The CLR and IL in a Nutshell
    41m 24s
  3. C# Compiler Tidbits
    40m 3s
  4. Performance of Imperative C# Code
    40m 47s
  5. Performance of Functional C# Code
    40m 35s
  6. Leveraging C# Extensibility Points, Part 1
    40m 17s
  7. Leveraging C# Extensibility Points, Part 2
    38m 45s
  8. Generics Behind the Scenes
    40m 59s
16

C# Language Internals - Part 2

by Bart De Smet

Jun 9, 2014 / 4h 39m

Advanced • 4h 39m

Start Course
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
  1. Investigating Iterators
    38m 21s
  2. Asynchronous Methods
    38m 27s
  3. Expression Trees
    42m 5s
  4. Dynamic Programming in C#
    39m 57s
  5. Hidden Gems in System.Runtime.CompilerServices
    38m 55s
  6. COM Interop, No PIA, and WinRT
    42m 22s
  7. Not-So Secret Language Features
    38m 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.

Offer Code *
Email * First name * Last name *
Company
Title
Phone
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit