
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
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.
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.
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.
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.
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#.
The students are made aware of the rating system and an appeal made for an honest review.
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.
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
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.
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.
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.
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.
Students will be able to know about the ArrayList class within C# non-generic collection.
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.
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.
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.
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.
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.
This is the coding exercise solution walkthrough.
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.
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
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.
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.
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.
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.
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.
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.
After completion of this lecture, students will be able to use Add() and Insert() methods for List<T> generic collection class.
After completion of this lecture, students will be able to use IndexOf() and Contains() methods for List<T> generic collection class.
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.
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.
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.
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.
The students will be able to create a database, add table and stored procedures to the database using MS-SQL
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.
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.
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.
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.
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.
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.
Master Collection Classes in C#: A Complete Learning Experience
This course has been recently updated to include a brand-new section on Priority Queues, Collection Expressions, and Inline Arrays—ensuring you’re learning the latest advancements in C#. Additionally, the course features two real-life mini-projects: one focused on the practical applications of Generic Queue Classes and another on coding, debugging, and running a functional project. These projects are designed to provide hands-on experience and reinforce the key concepts taught throughout the course.
The course offers an in-depth exploration of Non-Generic, Generic, Concurrent, and Specialized Collection Classes in C#. These are essential for building efficient, scalable, and maintainable applications. Whether you're a beginner or looking to deepen your knowledge of collections, this course has been crafted to cater to a wide range of learners.
To help you master these collection classes, the course delves into foundational and advanced concepts that complement C# collections. Topics include Reflection, Multi-threaded applications with thread safety, Asynchronous Programming, and Object-Oriented Programming (OOP) principles such as Interfaces and Abstract Classes. These concepts are crucial for understanding how to maximize the power and flexibility of collection classes in real-world applications.
Engagement and Learning Tools:
Interactive Coding Exercises: These are designed to help you solidify your understanding through hands-on practice.
Assignments: Reinforce your learning and evaluate your grasp of key topics.
Mini-Projects: Apply your skills in real-world scenarios to understand the practical applications of collection classes.
Bonus Content: A series of articles and additional lectures provide a deeper understanding of related technologies, expanding your knowledge beyond the core curriculum.
By the end of the course, you will not only have a thorough understanding of C# collection classes but also the confidence to use them effectively in your own projects. Whether you’re developing multi-threaded applications, implementing efficient data structures, or working with concurrent programming, this course equips you with the skills needed to excel.
Enroll now to unlock the full potential of C# collection classes and elevate your coding skills!