کالکشنها برای ذخیره کردن دادهها در برنامهها ضروری هستند؛ اما تعداد زیاد مجموعههای مختلف میتواند گیج کننده باشد. در دوره ویدیویی Beginning C# Collections موسسه Pluralsight که توسط Simon Robinson تدریس شده است، شما توانایی استفاده از کالکشنهای متداول برای پرس و جو از دادهها را به دست خواهید آورد.
در این دوره، ابتدا یاد میگیرید که چگونه و چه زمانی از آرایه، لیست و دیکشنری که سه کالکشن پر استفاده برای گروه بندی دادهها با هم هستند، استفاده کنید. سپس، نحوه پرس و جو از دادهها با استفاده از حلقههای foreach و for و همچنین استفاده از LINQ را خواهید فهمید. سرانجام، شما چگونگی قرار دادن کالکشنها را در کالکشنهای دیگر برای انجام کارهایی مانند پارتیشن بندی دادهها بررسی خواهید کرد. پس از پایان این دوره، شما مهارتهای لازم را برای ذخیره کردن دادهها در کالکشنها و جستجو، شمردن، پرس و جو و اصلاح آنها با استفاده از کالکشنها در انواع مختلفی از سناریوها را در اختیار خواهید داشت.
فیلم آموزشی «شروع به کار با کالکشنها در سی شارپ» موسسه پلورال سایت که توسط Simon Robinson تدریس شده است، دارای فایل Transcript انگلیسی است.
Table of Contents:
Course Overview
- Course Overview
Introducing Collections and Arrays
- Overview
- What Is a Collection?
- The Array: A Fixed Size Ordered Collection
- Enumerating an Array
- Some Collection Terminology
- Looking up Array Items
- Arrays Are Zero-indexed
- Collections Are Safe
- Converting Between Zero-based and One-based Indexing
- Replacing Array Items
- Debugging with Arrays
- From Arrays to Other Collections
- Summary
Importing from a Data Source into an Array
- Overview
- The Demo Sample: Importing Countries
- You Can't Enumerate Null
- Instantiating an Array by Size
- The CSV Data Source
- Parsing a CSV Line with String.Split()
- Arrays and Params Arguments
- Populating the Array with a For Loop
- Formatting the Large Numbers
- Instantiating an Array: Review
- Summary
Resizing Collections with Lists
- Overview
- Arrays Are a Fixed Size
- Introducing List<T>
- Adding Items with List<T>.Add() and Collection Intializers
- List<T> Is a Generic Type
- Importing from the CSV File into a List
- Enumerating a List
- CSV Embedded Commas
- Counting Elements with Array.Length
- Counting Elements with List<T>.Count
- Inserting with List<T>.Insert()
- Searching with List<T>.FindIndex()
- Removing with List<T>.RemoveAt()
- Lists and Performance
- Summary
Storing Keyed Data with Dictionaries
- Overview
- Lists and Arrays Require an Index
- Introducing Dictionary<TKey, TValue>
- Instantiating a Dictionary
- Adding Items to a Dictionary with Add()
- Using Keys to Look up Dictionary Items
- Enumerating Dictionary Items
- Understanding KeyValuePair<TKey, TValue>
- Dictionary Initializers
- Keys Are Unique!
- The Uncertainty of Dictionary Lookups
- Looking up Items with TryGetValue()
- Demo: Importing the Countries into a Dictionary
- Summary
Manipulating List Data
- Overview
- Enumerating: for vs. foreach
- Loop Termination Conditions
- Iterating Only Some Items
- Batching an Iteration
- Displaying the Order When Enumerating
- Enumerating Backwards
- Systematically Removing Elements from a List
- Keeping the Index in Sync: The Hidden Gotcha
- foreach Is Readonly
- Removing Elements with Removeall()
- Summary
Selecting Items Using LINQ
- Overview
- Limiting How Many Results with Take
- Ordering Data with OrderBy
- Chaining LINQ Methods
- How Does LINQ Work?
- LINQ Chaining Explained
- Filtering Data with Where
- Chaining Order Matters... Again!
- LINQ Query Syntax
- LINQ vs. For Loop vs. Collection Methods
- Summary
Creating Collections of Collections
- Overview
- Partitioning Data with a Dictionary
- Importing the Countries into the Dictionary of List
- Enumerating Dictionary Keys
- Jagged Arrays
- The Noughts and Crosses Demo: Instantiating a Jagged Array
- The Game Logic
- Accessing Jagged Array Elements with Chained Look-ups
- Multidimensional Arrays
- Summary
Taking Collections Further
- Overview
- Standard Generic Collections
- Immutable Collections
- Concurrent Collections
- LINQ
- Collection Interfaces
- Course Summary