We may earn an affiliate commission when you visit our partners.
Simon Robinson

Learn to use the full range of Microsoft collections, from lists and dictionaries to sets, queues, and concurrent and immutable collections. This course will explore the principles of ensuring code with collections is scalable and robust.

Read more

Learn to use the full range of Microsoft collections, from lists and dictionaries to sets, queues, and concurrent and immutable collections. This course will explore the principles of ensuring code with collections is scalable and robust.

Understanding how to use collections properly is a vital part in writing effective C# applications. In this course, Advanced C# Collections, you'll learn how to use the full range of Microsoft collections and understand how to ensure collection elements are unique using sets, along with customizing dictionary key lookup and sorting of elements. First, you’ll develop an understanding of the principles of collection scalability, which is important to ensure performance stays acceptable when dealing with very large collections. Then, you'll discover how to make your code around collections more robust by using collection interfaces to decouple code, and read-only and immutable collections to protect your data. Finally, you'll delve into using collections in a multi-threaded scenario using the concurrent collections. By the end of this course, you'll have the knowledge needed to effectively choose the most appropriate collection for any reasonable situation, and leverage that collection following good practices.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Arrays, Lists, and Collection Equality
Collection Performance
Inside Dictionaries and Sorted Dictionaries
Read more
High-performance Modifications with Linked Lists
Stacks
Queues
Concurrency and Concurrent Collections
Merging Data with HashSets and SortedSets
Read-only and Immutable Collections
Collection Interfaces

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines advanced C# collections and their applications, which is standard in industry
Taught by Simon Robinson, who is recognized for their work in C#
Develops understanding of scalable and robust collection techniques, which are core skills

Save this course

Save Advanced C# 7 Collections to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Advanced C# 7 Collections with these activities:
Review: 'Data Structures and Algorithms in C#' by Michael McMillan
Expand your knowledge base and reinforce course concepts by reviewing a comprehensive book on data structures and algorithms in C#.
Show steps
  • Read Chapter 4 covering the fundamentals of collection types
  • Work through practice exercises and examples provided in the book
Practice Drill: Code Collection Exercises
Reinforce your understanding of collection types and their functionality by regularly practicing coding exercises.
Browse courses on ArrayLists
Show steps
  • Implement a linked list from scratch
  • Create a custom dictionary using a hash table
  • Write code to merge two sorted sets
Practice Drill: Collection Performance Optimization
Enhance your problem-solving abilities and practical skills by tackling challenges related to collection performance optimization.
Show steps
  • Analyze a code snippet and identify potential performance bottlenecks related to collection usage
  • Implement optimizations to improve the efficiency and scalability of the code
Show all three activities

Career center

Learners who complete Advanced C# 7 Collections will develop knowledge and skills that may be useful to these careers:
Collection Developer
Collection Developers are responsible for designing, developing, and maintaining software applications that manage collections of data. They use their knowledge of data structures and algorithms to create efficient and scalable solutions that can handle large volumes of data. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to design, develop, and maintain software applications that use collections of data.
Data Engineer
Data Engineers are responsible for designing, building, and maintaining the infrastructure that supports data-driven applications. They use their knowledge of data management and data science to create scalable and reliable systems that can handle large volumes of data. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to design, build, and maintain data-driven applications.
Data Scientist
Data Scientists are responsible for using data to solve business problems. They use their knowledge of statistics, machine learning, and data analysis to identify trends, patterns, and insights that can help businesses make better decisions. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to use data to solve business problems.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. They use their knowledge of database systems to ensure that databases are available, secure, and performant. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to manage and maintain databases.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software applications. They use their knowledge of programming languages and software development methodologies to create high-quality software that meets the needs of users. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to design, develop, and maintain software applications.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites. They use their knowledge of web technologies to create websites that are user-friendly, responsive, and performant. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to design, develop, and maintain websites.
Data Analyst
Data Analysts are responsible for collecting, cleaning, and analyzing data. They use their knowledge of data analysis techniques to identify trends, patterns, and insights that can help businesses make better decisions. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to collect, clean, and analyze data.
Business Analyst
Business Analysts are responsible for analyzing business processes and systems to identify opportunities for improvement. They use their knowledge of business analysis techniques to develop solutions that can help businesses achieve their goals. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to analyze business processes and systems.
Information Architect
Information Architects are responsible for designing and organizing the information on websites and other digital platforms. They use their knowledge of user experience design to create websites that are easy to use and find information. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to design and organize information.
Knowledge Manager
Knowledge Managers are responsible for managing and sharing knowledge within organizations. They use their knowledge of knowledge management techniques to create systems and processes that help organizations capture, store, and share knowledge. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to manage and share knowledge within organizations.
Librarian
Librarians are responsible for managing and providing access to information. They use their knowledge of library science to create systems and services that help people find and use information. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to manage and provide access to information.
Archivist
Archivists are responsible for preserving and providing access to historical records. They use their knowledge of archival science to create systems and processes that help people find and use historical records. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to preserve and provide access to historical records.
Museum curator
Museum Curators are responsible for managing and caring for museum collections. They use their knowledge of museum studies to create exhibitions and programs that help people learn about and interact with museum collections. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to manage and care for museum collections.
Records Manager
Records Managers are responsible for managing and storing records. They use their knowledge of records management to create systems and processes that help organizations capture, store, and dispose of records. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to manage and store records.
Information Specialist
Information Specialists are responsible for providing information to people. They use their knowledge of information science to create systems and processes that help people find and use information. This course can help you build a foundation in collection management, and it can also help you develop the skills you need to provide information to people.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Advanced C# 7 Collections.
The classic book on design patterns, this book provides a comprehensive and in-depth look at the 23 most important design patterns. It valuable resource for developers who want to learn more about design patterns and how to use them effectively in their code.
Provides a comprehensive and in-depth look at the C# programming language. good choice for developers who want to learn more about the advanced features of C#.
The subject of this book is C# 7.0, with special emphasis on new features of the language. useful reference and provides more depth than the course goes into.
Provides a deep dive into the Common Language Runtime (CLR), the foundational technology upon which C# and other .NET languages are built. It valuable resource for developers who want to understand the inner workings of the CLR and how it affects the performance and behavior of their C# code.
Provides a comprehensive and in-depth look at concurrency in modern programming languages. It valuable resource for developers who want to learn more about concurrency and how to write concurrent code effectively.
Provides a comprehensive and in-depth look at object-oriented design patterns in Java. valuable resource for developers who want to learn more about design patterns and how to use them effectively in their code.
A collection of recipes for solving common programming problems using Scala collections. good resource for developers who want to learn more about the practical applications of Scala collections.
Provides an accessible and up-to-date introduction to the latest version of the C# programming language. It useful supplement to the course, providing more background and context for the concepts covered in the course.
Provides a concise and practical introduction to seven different concurrency models. good choice for developers who want to learn more about concurrency and how to choose the right model for their application.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser