הכרזה ואתחול של מערכים דו־ממדיים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 2 מתוך 66.
אפשר ליצור מערך דו־ממדי ב-C# באמצעות מערכים מדורגים, שהם מערכים של מערכים, ומאפשרים לאחסן נתונים במבנה דמוי רשת.
כדי ליצור מערך משונן של מספרים שלמים עם 3 שורות ו-4 עמודות:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];הקוד שלמעלה יוצר מערך דו־ממדי שנראה כך (כל האיברים מאותחלים ל־0):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]אתחל מערך משונן עם ערכים:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};פעולה זו יוצרת מערך דו־ממדי עם 2 שורות ו־3 עמודות, המכיל את הערכים:
[1, 2, 3]
[4, 5, 6]כדי לקבל את מספר השורות והעמודות:
int rows = matrix.Length; // מחזיר 2
int columns = matrix[0].Length; // מחזיר 3 (עבור השורה הראשונה)כדי לגשת לאיברים במערך דו־ממדי נדרשים שני אינדקסים: אחד לשורה ואחד לעמודה.
הקצה ערך למיקום מסוים (שורה 1, עמודה 2):
grid[1][2] = 42;קרא ערך ממיקום מסוים (שורה 0, עמודה 3):
int value = grid[0][3];זכור שאינדקסים של מערך מתחילים ב־0, לכן הטווחים התקינים הם:
- שורות: 0 עד 2 (עבור מערך עם 3 שורות)
- עמודות: 0 עד 3 (עבור מערך עם 4 עמודות)
אם תנסה לגשת לאיבר מחוץ לטווחים האלה (כמו grid[3][2]), תקבל IndexOutOfRangeException.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין