Master Collection Classes in C# Using Visual Studio
- Description
- Curriculum
- FAQ
- Reviews
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.
-
1Encouraging Constructive Feedback: A Message to Our Udemy StudentsVideo lesson
This lecture emphasizes how unexplained low ratings can deter new students from enrolling in our courses in a highly competitive market, highlighting the importance of constructive feedback for both instructors and learners.
-
2Introduction to the courseVideo lesson
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.
-
3A note on string interpolation and var keywordText lesson
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.
-
4Downloading and Installation of Visual StudioText lesson
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.
-
5Introduction to Collections and their ObjectivesVideo lesson
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#.
-
6A Note to Students on Udemy Rating SystemVideo lesson
The students are made aware of the rating system and an appeal made for an honest review.
-
7An Introduction to Interfaces in C#Video lesson
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.
-
8Abstract classes in C#Video lesson
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
-
9Abstract Classes Code ProjectVideo lesson
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.
-
10Errata-Removal of Redundant CodeText lesson
-
11Introduction to Reflection in C#Video lesson
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.
-
12Reflection-Accessing Metadata InformationVideo lesson
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.
-
13Early and Late Binding Using ReflectionVideo lesson
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.
-
14Section IntroductionVideo lesson
Students will be able to know about the ArrayList class within C# non-generic collection.
-
15Arrays and Non-Generic ClassesVideo lesson
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.
-
16ArrayList Properties and MethodsVideo lesson
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.
-
17ArrayList MethodsVideo lesson
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.
-
18More ArrayList Methods and Partial Class UsageVideo lesson
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.
-
19Coding Exercise OverviewVideo lesson
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.
-
20Coding Exercise Solution WalkthroughVideo lesson
This is the coding exercise solution walkthrough.
-
21Hashtable in C#Video lesson
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.
-
22Hashtable methodsVideo lesson
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
-
23More Hashtable Properties and MethodsVideo lesson
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.
-
24Create a Windows Form Application With Controls - Part 1Video lesson
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.
-
25Extend the Windows Form Application and Code a Button Event Handler - Part 2Video lesson
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.
-
26Conclude Windows Form Application and Code the Button Click Events - Part 3Video lesson
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.
-
28List<T> IntroductionVideo lesson
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.
-
29List<T> Use of Some Common Methods - Part 1Video lesson
After completion of this lecture, students will be able to use Add() and Insert() methods for List<T> generic collection class.
-
30List<T> Use of Some Common Methods - Part 2Video lesson
After completion of this lecture, students will be able to use IndexOf() and Contains() methods for List<T> generic collection class.
-
31List<T> Use of Some Common Methods - Part 3Video lesson
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.
-
32List<T> Count and Capacity PropertiesVideo lesson
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.
-
33Exercise 1Quiz
-
34Bonus Ex 1: Create a Console Text File Processor Application (Without Generics)Video lesson
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.
-
35Bonus Ex 2: Modify the Text File Processor to Use Generics and ReflectionVideo lesson
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.
-
36Creating a CRUD application with List<T> and Microsoft SQL Server - Part 1Video lesson
The students will be able to create a database, add table and stored procedures to the database using MS-SQL
-
37Creating a CRUD application with List<T> and Microsoft SQL Server -Part 2Video lesson
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.
-
38Introduction to HashSet<T> Generic Collection ClassVideo lesson
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.
-
39HashSet<T> Hands on Coding with Commonly Used Methods - Part 1Video lesson
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.
-
40HashSet<T> Hands on Coding with Commonly Used Methods - Part 2Video lesson
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.
-
41Introduction to SortedSet<T> Generic Collection ClassVideo lesson
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.
-
42SortedSet<T> Learning Some Special MethodsVideo lesson
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.
-
43Introduction to Dictionary<TKey, TValue> ClassVideo lesson
This is an introduction to the dictionary generic collection class. It enlightens about the various methods used in this class.
-
44Dictionary Class - Add Method and Count PropertyVideo lesson
This lecture shows how to work with the Add method and Count property of a Dictionary<TKey, TValue> class collection. Hands-on coding on Visual Studio will give the students coding practice.
-
45Dictionary Class - TryGetValue and Remove MethodsVideo lesson
This lecture shows the students the usage of TryGetValue() and Remove() methods of the generic Dictionary class. The students will understand these methods and be able to use them in code.
-
46Converting an Employee Array and List Collection to DictionaryVideo lesson
This lecture teaches the ways to convert an employee objects Array and List of employee class objects to Dictionary collection.
-
47Exercise 2Quiz
-
48Introduction to Queues and Stacks - Generic CollectionVideo lesson
After going through this lecture, students will be able to know two important data structures LIFO - Last In First Out and FIFO- First In First Out. They will learn about the important operations in both of these data structures.
-
49Queue<T> Class - More Coding in Visual StudioVideo lesson
This is focused on discussing practical application of Generic Queue class and clears concepts on commonly used operations. The tutorial proves with code the workings of some commonly used Queue class methods like Enqueue(), Dequeue() and Peek(). After completing this lecture the students will be able to use these methods in practical coding with C#.
-
50Stack<T> Class - An Examination with ExamplesVideo lesson
This lecture gives an overview of the Stack generic class. The students will be able to learn the Stack data structure concepts and some applications of Stack in real life.
-
51Stack<T> Class - More Coding in Visual StudioVideo lesson
-
52Mini Project - Practical Application of Generic Queue ClassVideo lesson
A practical daily life example of customer services representatives serving a group of customers in queue possessing token numbers. This provides an example of Queue class usage to build an useful app. After going through this lecture the students will be able to understand the logic behind the project and build a Windows Form in C# as the GUI.
-
53Mini Project - Coding, Debugging and Running the AppVideo lesson
This is the concluding part of the Mini Project. In this part, the instructor walks through the code for the GUI designed and developed in the earlier lecture for this project. After going through this tutorial, the students will be able to know the implementation of the business logic in a useful but simple Windows application.
-
54Comparer<T> Class for Sorting C# User TypesVideo lesson
This lecture discusses generic Comparer class for sorting objects of user types in C#. The students will be able to use a custom sort mechanism on objects of user defined types and use in practical C# applications.
-
55Comparer<T> Class for Comparing C# User TypesVideo lesson
This lecture discusses generic Comparer class for comparing objects of user types in C#. The students will be able to use a custom comparison mechanism on objects of user defined types and use in practical C# applications.
-
57Why and Where Concurrent Collections are Required? - Part 1Video lesson
This lecture introduces the Concurrent Collection class in C# used for multi-threaded applications where many threads attempt to access the same collection. It also provides the important concept of threads and thread safety as a background for understanding the main topic of Concurrent Collections. The students will be able to know the deadlock and race conditions in multi-threaded applications which are the effects of writing thread unsafe applications. They'll be able to code simple application that simulates a race condition.
-
58Why and Where Concurrent Collections are Required? - Part 2Video lesson
This lecture is a continuation to the previous lecture and builds on the concept of deadlock learnt therein and illustrates it in code. It shows a simulation of deadlock situation in C# code. The students will be able to know what simulates a deadlock situation and will be able to appreciate the need to introduce a separate concurrent collection class to offset the issues faced.
-
59Asynchronous Programming FundamentalsVideo lesson
This is an introductory lecture on asynchronous programming and it discusses the practical example of making breakfast as an asynchronous operation. The students after attending the lecture will learn how to use async and await keywords to create an asynchronous method.
-
60ConcurrentBag<T> Collection ClassVideo lesson
This lecture introduces the ConcurrentBag<T> class within the System.Collections.Concurrent namespace. It provides a brief introduction to the class with some common methods and properties. The lecture shows hands-on coding in Visual Studio to build a working console app with ConcurrentBag class. Students will be able to understand the need to use this class and how to use this class in code in a practical scenario.
-
61ConcurrentDictionary<T> Collection Class - Part 1Video lesson
This is the first part of the ConcurrentDictionary<T> class lectures. It gives a sound introduction about the ConcurrentDictionary<T> class which includes the commonly used methods and goes on to use the methods with hands in coding in Visual Studio. The students will have a good understanding of this class in practical scenario. They will also be able to code to demonstrate thread safety with the usage of ConcurrentDictionary<T> class.
-
62ConcurrentDictionary<T> Collection Class - Part 2Video lesson
This is the second and concluding part of the ConcurrentDictionary<T> class lectures. It shows how to use a few more important methods in the ConcurrentDictionary<T> class and goes on to use the methods with hands in coding in Visual Studio. The students will have a good understanding of this class in practical scenario.
-
63BlockingCollection<T> Collection Class - Part 1Video lesson
This lecture gives a brief overview of the BlockingCollection<T> collection class. This is also a concurrent collection class and follows a producer - consumer pattern and like other classes in the concurrent collection is ideal for multithreaded applications in which different threads are trying to change the same collection instance. The students will be able to write code using the various common methods of this class like Add(), TryAdd(), Take() and TryTake() after taking this lecture.
-
64BlockingCollection<T> Collection Class - Part 2Video lesson
This lecture continues with the BlockingCollection<T> collection class introduced earlier. The students will be able to write code using some more common methods of this class like after taking this lecture.like CompleteAdding(), GetConsumingEnumerable(). These code usages are valid in practical daily life applications and will impart the students with the requisite knowledge to face the developer requirements in the industry.
-
65Introduction to Specialized Collection with CollectionsUtil class MethodsVideo lesson
This lecture introduces Specialized collection classes included in System.Collections.Specialized namespace. It highlights some of the classes and their specialized functions. The lecture concludes with usage of two methods in CollectionsUtil class within this categpry. The students will be able to use the CollectionsUtil class and its methods and apply to a real life scenario.
-
66Exercise in CollectionsUtilText lesson
-
67StringCollection Class and Usage of the Class Methods - Part 1Video lesson
This is the first of a two part lecture series on StringCollection class which is a part of the Specialized collections and included in the System.Collections.Specialized namespace. The lecture covers an overview of the Specialized collection class. In this part some commonly used methods of this class are demonstrated with coding in Visual Studio and results analysed. The students will be able to use these methods in a real life scenario while using the StringCollection class. They will know the areas where StringCollection class could be used.
-
68StringCollection Class and Usage of the Class Methods - Part 2Video lesson
This is the second and concluding part of a two part lecture series on StringCollection class which is a part of the Specialized collections and included in the System.Collections.Specialized namespace. In this part a few more commonly used methods of this class are demonstrated with coding in Visual Studio and results analysed. The students will be able to use these methods in a real life scenario while using the StringCollection class, besides knowing about this class in some detail. They will know the areas where StringCollection class could be used.
External Links May Contain Affiliate Links read more