Master Collection Classes in C# Using Visual Studio
4.5 (22 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
224 students enrolled

Master Collection Classes in C# Using Visual Studio

Using ASP.NET Core learn the major collection classes in C#
4.5 (22 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
224 students enrolled
Last updated 7/2020
English
English [Auto]
Current price: $55.99 Original price: $79.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 16 hours on-demand video
  • 3 articles
  • 47 downloadable resources
  • 2 coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Students will learn collection classes: non-generic, generic, concurrent and specialized collections in C#.
  • They will be learning the concept of threading, multi-threaded applications and asynchronous programming.
  • Students will also get hands-on exposure on coding and testing in collection classes.
  • Students will be able to get information on the types used in a generic data type at run-time by reflection.
  • They will grasp the concepts of collection classes and their application in real life scenarios through C# code.
  • They will learn object oriented concepts of interface and abstract class .
  • As a bonus, students will build a windows form application where they will apply the collection class concepts
  • Students will learn to build a CRUD app using Microsoft SQL server and C# that relates to generic collection classes
  • Students will learn the application of generic constraints.
Requirements
  • Some basic knowledge of C# or any other object oriented programming will be advantageous. Some prior exposure to Visual Studio IDE will make this course a breeze.
Description

This course has very recently been updated to contain two brand new sections on HashSet<T> and SortedSet<T> with a total of five additional lectures introducing the section topics and offering extensive practical code base coverage over these sections.

This course covers the Non-Generic, Generic, Concurrent and Specialized Collection classes in C#. The course includes important concept building topics in Reflection, Multi-threaded applications (with thread safety), Asynchronous Programming and Object-Oriented concepts of Interfaces and Abstract Class that the students need to grasp in order to get the full benefits from the course. Several coding exercises, an assignment, and a mini-project are aimed to keep the students engaged with the contents. These exercises are also means of self-assessing the progress with the course. A number of bonus articles and lectures have been added to enhance the learning process in related technologies. 


Who this course is for:
  • Advanced beginners in programming , computer science/engineering students to practicing professionals (who would like to brush up their skills), existing developers migrating to C# from other languages.
  • However absolute beginners are also welcome if they are willing to catch up with basic programming concepts such as use of variables, decision statements and iteration loops.
Course content
Expand all 64 lectures 16:09:02
+ Course Introduction
3 lectures 06:20

This is an overview of the full course. This lecture will introduce the students to the instructor. The contents of this lecture provide the highlights of the course including the mention of the code exercises, mini-project and essential concepts that are also covered as a part of the foundation required for learning the concepts of the collection in C#. After going through the course, the will have a full appreciation of contents including downloadable codes and other files, external links as resources.

Preview 03:31

This is a text lecture aiming to serve as a note for the students so that they are aware of the usage of these concepts in code. This will enlighten them to the newer features of the C# language being available for use which are the current best practices in C# language. 

A note on string interpolation and var keyword
00:51

This is the download and installation procedure for Visual Studio IDE. The students will be able to download and install Visual Studio Community (free) version and be ready to code.

Downloading and Installation of Visual Studio
01:57
+ Introduction to C# Collections
2 lectures 07:56

This is the introductory lecture on the Collections as a whole. The lecture discusses the objectives behind the use of the collection classes in C#. The students will be able to have an overview of the various collection types in C#.

Preview 06:35

The students are made aware of the rating system and an appeal made for an honest review.

A Note to Students on Udemy Rating System
01:21
+ Essential Concepts to Learn
7 lectures 01:47:53

Students will be able to understand the important concept of C# interface. They'll be able to write simple interfaces and implement them with C# in Visual Studio.

An Introduction to Interfaces in C#
11:55

A  tutorial on the abstract class concept in C# programming language. For beginning level learners in C# having little or no knowledge of object-oriented concepts, it is important to understand the abstract class concept to grasp the fundamentals on collection classes, since some of these use abstract classes.

After completing this tutorial, they will be able to do the following:

1 Create a simple abstract class in C# code using Visual Studio 2017

2 Create classes that implement the abstract class in C# code

Abstract classes in C#
14:51

This is the continuation of the on going abstract class console application started in the previous lecture. This lecture works with hands on coding in Visual Studio 2017 and concludes with testing the application after completing the derived classes code.

Abstract Classes Code Project
10:01
Errata-Removal of Redundant Code
00:14

This lecture introduces the concept of reflection to access meta data class information at runtime. This is a foundation topic to build concept for the latter part of this section using reflection and generic collection class List<T> for building an app whose methods are reusable.

Introduction to Reflection in C#
18:16

This is the second of series of lectures on reflection and introduces the GetType() method and typeof keyword for a class. It also introduces the Type (abstract) class and shows the use of PropertInfo(), MethodInfo() and ConstructorInfo() methods to the students.

Reflection-Accessing Metadata Information
29:44

This is a tutorial video on early binding vs late binding in C# using reflection.  On completion of this lecture the students will know about a major practical application of reflection which is the use of late binding through reflection to access the types and objects that are not available at compile time to the application.

Early and Late Binding Using Reflection
22:52
+ Non-Generic Collection Classes (ArrayList)
7 lectures 01:29:55

Students will be able to know about the ArrayList class within C# non-generic collection.

Section Introduction
03:20

This lecture shows the use and comparison of an Array with an ArrayList class. The lecture uses a user defined employee class to fill both of them. Students will learn how ArrayList can grow in size dynamically and that they require unboxing to retrieve the value, whereas Arrays are of fixed size at design time and they don't require unboxing.

Arrays and Non-Generic Classes
20:23

This lecture shows how to use count and capacity properties in an ArrayList instance. It also shows the usage of some commonly used methods as Remove(), Sort() and Reverse().

Students will be able to use these properties and methods in C# code.

ArrayList Properties and Methods
13:28

This lecture shows how to use some commonly used method as AddRange() to add the elements of a collection to the end of the ArrayList

Show how to use GetRange() method to return an ArrayList which represents a subset of the elements in the source ArrayList.

Students will be able to use these methods in C# code in a real-life scenario.

ArrayList Methods
09:44

This lecture shows how to use some commonly used method as RemoveAt(), RemoveRange() and IndexOf() methods.

Students will be able to use these methods in C# code in a real life scenario.

More ArrayList Methods and Partial Class Usage
14:36

The students will know the basics of Test Driven Development with a short overview of unit testing. They will have an idea about the coding exercise to follow.

Coding Exercise Overview
05:47

This is the coding exercise solution walkthrough.

Coding Exercise Solution Walkthrough
22:37
+ Non-Generic Collection Classes (HashTable)
3 lectures 27:11

This lecture is an introduction to the non-generic hashtable class that is included in the System.Collections namespace. It highlights the key-value pair and other features of the hashtable class. The lecture emphasizes the need to frequently refer to the MS-Documentation link provided in the resources. This documentation is full of the knowledge base about a collection class, all properties, methods, constructors, etc with working sample code.

Hashtable in C#
05:05

This lecture shows the usage of Add(), ContainsKey() and Remove() methods. Shows the use of Keys, Value of DictionaryEntry class. It shows the use of indexer to get and set the key values

Hashtable methods
15:27

This tutorial shows how to get the keys alone and values alone with the ICollection interface . It also shows the usage of Remove method once more in Hashtable class. Students will be able to further their learning with the use of these concepts.

More Hashtable Properties and Methods
06:39
+ Bonus: Create and Use a Windows Form Application for Managing Collections
3 lectures 01:10:24

Students will be able to design and create a simple Windows Form Application in C#. They will be able to align, resize and change commonly used properties of the controls.

Create a Windows Form Application With Controls - Part 1
22:21

Students will learn the process of adding event handlers to the button controls and write code in the event handler. They will be able to change the properties of the controls programmatically at run time. The students will learn how to handle exceptions and validate a control.

Extend the Windows Form Application and Code a Button Event Handler - Part 2
28:00

The students will learn to code the button event handlers for rest of the buttons to test AddRange(), RemoveAt() and Insert() methods through the Windows Form user interface(UI). This will complete the bonus WinForm application through which the students will learn how to build a Windows Form application and receive user inputs to create an ArrayList collection and test the different methods of that collection.

Conclude Windows Form Application and Code the Button Click Events - Part 3
20:03
+ Introduction to Generics and Generic Collection Classes
1 lecture 18:04

This lecture deals with Generics that were introduced C# version 2 and advises that the most common use of the Generic concept is in Generic collection classes. The lecture stresses the use of type parameters which gets rid of boxing and unboxing processes used in non-generic classes like ArrayList, Hashtable.

The lecture introduces and describes in detail about the constraints in generics. 

Fundamentals of Generics
18:04
+ Generic Collection Classes (List<T>)
9 lectures 02:48:06

This is an introductory lecture on List<T> class which is generic collection class. List<T> is a generic equivalent of non-generic ArrayList class. Students will understand the uses and advantages of using strongly typed List<T> generic class which is better performance wise as compared to ArrayList class. In the forthcoming lectures in the section they will see for themselves that using List<T> ends up in code  re-usability.

List<T> Introduction
05:54

After completion of this lecture, students will be able to use Add() and Insert() methods for List<T> generic collection class.

List<T> Use of Some Common Methods - Part 1
12:53

After completion of this lecture, students will be able to use IndexOf() and Contains() methods for List<T> generic collection class.

List<T> Use of Some Common Methods - Part 2
08:49

After completion of this lecture, students will be able to use Exists() and Find(), FindIndex(), FindLast() and FindAll() methods for List<T> generic collection class.

List<T> Use of Some Common Methods - Part 3
19:20

This lecture covers the Count and Capacity properties of List<T> class and also teaches the use of TrimExcess() method. After attending the lesson, the students will be able to use these properties for a List<T> class in practical scenarios. 

List<T> Count and Capacity Properties
15:15
Exercise 1
1 question

The students will learn the List<T> class for creating and managing collections in C#

The students will be able to create text file processor class to create, write to and load text files from the file system at a given path.

They will appreciate how the non-generic way of doing the above steps end up in repetitive coding which is avoidable.   

Bonus Ex 1: Create a Console Text File Processor Application (Without Generics)
27:29

This is the concluding lecture of the bonus lectures in this Section. It builds upon the previous lecture of building a Text File Processor app and introduces generics (with reflection) to prove the point that it's a better approach and follows the DRY principles of Software Engineering.

Bonus Ex 2: Modify the Text File Processor to Use Generics and Reflection
28:14

The students will be able to create a database, add table and stored procedures to the database using MS-SQL

Creating a CRUD application with List<T> and Microsoft SQL Server - Part 1
19:42

This is the second and concluding part of the List<T> CRUD application Using MS-SQL Server. In this lecture the students will learn how to create the connection string in Visual Studio (ASP.NET Core console application), write methods to connect to the SQL database and insert, select and delete database records from Person table using stored procedures.

Creating a CRUD application with List<T> and Microsoft SQL Server -Part 2
30:30
+ Generic Collection HashSet<T> Class
3 lectures 40:21

This is the introductory lecture on this section with slide show being presented and explained to learn the features and methods of HashSet<T> class. The students will form a foundational understanding to take the next step in the usage of these methods in code. 

Introduction to HashSet<T> Generic Collection Class
05:00

This lecture shows and explains the coding for some commonly used HashSet<T> methods: UnionWith, ExceptWith, SymmetricExceptWith, and IntersectWith which are used for mathematical set operations. The Count property and Add method usage were also demonstrated. The students will be able to use these methods in practical code in Visual Studio.

HashSet<T> Hands on Coding with Commonly Used Methods - Part 1
17:49

This lecture shows and explains the coding for some other HashSet<T> methods: Contains, Remove, RemoveWhere, and the Count property. Add method usage was also demonstrated. The students will be able to use these methods in practical code in Visual Studio.

HashSet<T> Hands on Coding with Commonly Used Methods - Part 2
17:32
+ Generic Collection SortedSet<T>
2 lectures 13:56

This is the introductory lecture on this section with slide show being presented and explained to learn the features and methods of SortedSet<T> class. The students will form a foundational understanding to take the next step in the usage of these methods in code with Visual Studio. 

Introduction to SortedSet<T> Generic Collection Class
02:55

This lecture shows and explains the coding for some other SortedSet<T> methods: Overlaps, GetViewBetween, Reverse. Add method usage was also demonstrated. The students will be able to use these methods in practical code in Visual Studio.

SortedSet<T> Learning Some Special Methods
11:01