מהו HashSet?
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 56 מתוך 66.
HashSet הוא אוסף ב-C# שמאחסן איברים ייחודיים ללא סדר מסוים. הוא חלק ממרחב השמות System.Collections.Generic ומספק פעולות על קבוצות בביצועים גבוהים.
ראשית, כלול את מרחב השמות הנדרש:
using System.Collections.Generic;צרו HashSet ריק:
HashSet<string> fruits = new HashSet<string>();הפעולה הזו יוצרת HashSet שיכול לאחסן ערכי מחרוזת.
בניגוד למערכים או לרשימות, HashSets:
- לא מאפשרים רכיבים כפולים
- לא שומרים על סדר ההוספה
- מספקים פעולות חיפוש מהירות (סיבוכיות O(1))
- אידיאליים כשצריך להבטיח ייחודיות
אם תנסה להוסיף איבר כפול, ה-HashSet יתעלם ממנו:
fruits.Add("Apple");
fruits.Add("Apple"); // הפעולה הזו אינה מתבצעתלאחר ביצוע הקוד שלמעלה, הקבוצה עדיין מכילה רק "Apple" אחד.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין