מה זה System.Array ב-C#

Mh Zh System Array B C



C# תומך בשימוש במערכים כמבנה נתונים, המאפשר לנו לאחסן אוסף של אלמנטים מאותו סוג בסדר רציף בגודל קבוע. כל מאפייני המערך ב-C# נגזרים מה- מערך מערכת class, המשמשת כמחלקה הבסיסית לסוגי מערכים.

מכיוון שמדובר במחלקת בסיס מופשטת, יצירת מופע של המחלקה System.Array ישירות אינה אפשרית. במקום זאת, נוכל ליצור מופעים של אחת המחלקות הנגזרות מ-System.Array. כל סוגי המערך ב-C# מבוססים על System.Array.

בנוסף למערכים חד-ממדיים, ל-C# יש גם מערכים רב-ממדיים ומערכים משוננים. למערך רב מימדי יש ממד אחד או יותר מממד אחד. במערך משונן, כל אלמנט יכול להיות מערך בגדלים שונים. במילים פשוטות, מערך משונן הוא מערך של מערכים.







למה משמש System.Array Class

המחלקה System.Array מספקת שיטות ומאפיינים שונים לתפעול מערכים ב-C#. שיטות אלו מאפשרות לנו לקרוא ולשנות את הערכים המאוחסנים במערך, לקבל מידע על הגודל והצורה של מערך ולחפש אלמנטים במערך.



כמה שיטות נפוצות כוללות GetValue(), SetValue(), GetLength() ו- IndexOf(). ה מערך מערכת class גם מאפשר לנו למיין, לחפש ולתפעל מערכים שונים.



לדוגמה, כדי לקבל את אורך המערך, ה- נכס אורך משמש. ה דרג נכס יכול להחזיר ממדים הכוללים הקיימים במערך. ה מאפיין GetLength נותן את האורך של ממד מסוים במערך רב מימדי.





שיטות ומאפיינים ב-System.Array C#

להלן מספר שיטות ומאפיינים המשמשים ב-System.Array C#:

ברור(): זוהי שיטה הזמינה לציבור וניתן לגשת אליה מכל חלק בקוד. שיטה זו יכולה להגדיר טווח מסוים של אלמנטים בתוך מערך להפניה אפסית או לאפס.



עותק(): זוהי שיטה ציבורית משותפת שניתן להעמיס עליה ולהשתמש בה כדי להעתיק קטע מסוים של אלמנטים ממערך אחד למערך אחר.

GetLength(): הוא מחזיר מספר שלם של 32 סיביות המציג את סך האלמנטים בממד מסוים של מערך.

GetLongLength(): שיטה זו מחזירה מספר שלם של 64 סיביות, אשר נותן לנו את סך האלמנטים בממד מסוים של המערך.

GetLowerBound(): שיטה זו מאחזרת את הגבול התחתון של ממד מסוים של המערך, החל באינדקס 0.

GetUpperBound(): שיטה זו מאחזרת את הגבול העליון של ממד מוגדר של המערך, החל באינדקס 0.

GetValue(): שיטה זו מאחזרת את הערך של אלמנט ספציפי במערך, החל באינדקס 1.

אינדקס של(): זוהי שיטה ציבורית משותפת שניתן להעמיס עליה כדי להחזיר את האינדקס או הקיזוז של ההתרחשות הראשונה של ערך מסוים במערך חד מימדי.

IsFixedSize(): שיטה זו אומרת אם למערך יש גודל קבוע או לא.

IsReadOnly(): השיטה נותנת ערך שמסמל אם מערך הוא לקריאה בלבד או לא.

LastIndexOf(): זוהי שיטה משותפת ציבורית שעלולה להיות עומס יתר על המידה. הוא נותן את האינדקס של המופע האחרון של ערך במערך חד מימדי.

אורך(): שיטה זו נותנת אורך של מערכים. זה רכוש ציבורי ומוציא ערך מספר שלם של 32 סיביות.

אורך ארוך(): שיטה זו מספרת אלמנטים בכל ממדי המערך. הוא מחזיר ערך של מספר שלם של 64 סיביות.

דַרגָה(): שיטה זו מחזירה את מספר הממדים שיש למערך.

שנה גודל(): שיטה זו משנה גודל של מערך למספר האלמנטים שצוין.

לַהֲפוֹך(): שיטה זו יכולה להפוך סדר אלמנטים במערך חד מימדי.

סוג(): שיטה זו מסדרת אלמנטים במערך חד מימדי בסדר עולה או יורד בהתאם לערכיהם.

קוד לדוגמה

הקוד שלהלן מאתחל מערך של מספרים שלמים ומדגים שונים מערך מערכת שיטות שניתן להשתמש בהן עם מערכים ב-C#. הפלט של כל שיטה מוצג בנפרד בקונסולה.

באמצעות System ;
תוכנית הכיתה
{
סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args )
{
// אתחול מערך של מספרים שלמים
int [ ] מספרים = { 1 , 2 , 3 , 4 , 5 } ;


// נקה את תוכן המערך

מַעֲרָך. ברור ( מספרים , 0 , מספרים. אורך ) ;

לְנַחֵם. WriteLine ( 'מערך לאחר ניקוי:' ) ;

ל ( int אני = 0 ; אני < מספרים. אורך ; אני ++ )

{

לְנַחֵם. לִכתוֹב ( מספרים [ אני ] + '' ) ;

}

לְנַחֵם. WriteLine ( ) ;

// העתק את התוכן של מערך אחר למספרים

int [ ] numsCopy = { 7 , 8 , 9 } ;

מַעֲרָך. עותק ( numsCopy , מספרים , numsCopy. אורך ) ;

לְנַחֵם. WriteLine ( 'מערך לאחר העתקה:' ) ;

ל ( int אני = 0 ; אני < מספרים. אורך ; אני ++ )

{

לְנַחֵם. לִכתוֹב ( מספרים [ אני ] + '' ) ;

}

לְנַחֵם. WriteLine ( ) ;

// קבל את האורך והאורך הארוך של המערך

int אורך = מספרים. GetLength ( 0 ) ;

ארוך אורך ארוך = מספרים. GetLongLength ( 0 ) ;

לְנַחֵם. WriteLine ( 'אורך המערך:' + אורך ) ;

לְנַחֵם. WriteLine ( 'אורך ארוך של המערך:' + אורך ארוך ) ;

// קבל את הגבול התחתון והעליון של המערך

int חסם תחתון = מספרים. GetLowerBound ( 0 ) ;

int הגבול העליון = מספרים. GetUpperBound ( 0 ) ;

לְנַחֵם. WriteLine ( 'גבול תחתון של המערך:' + חסם תחתון ) ;

לְנַחֵם. WriteLine ( 'גבול עליון של המערך:' + הגבול העליון ) ;

// קבל את הערך באינדקס מסוים במערך

int valueAtIndex = ( int ) מספרים. GetValue ( 1 ) ;

לְנַחֵם. WriteLine ( 'ערך במדד 1: ' + valueAtIndex ) ;

// מצא את האינדקס של ערך מסוים במערך

int indexOfValue = מַעֲרָך. אינדקס של ( מספרים , 9 ) ;

לְנַחֵם. WriteLine ( 'אינדקס של ערך 9: ' + indexOfValue ) ;

// בדוק אם המערך בגודל קבוע וקריאה בלבד

bool isFixedSize = מספרים. IsFixedSize ;

bool isReadOnly = מספרים. IsReadOnly ;

לְנַחֵם. WriteLine ( 'האם גודל קבוע?' + isFixedSize ) ;

לְנַחֵם. WriteLine ( 'האם לקריאה בלבד?' + הוא קריאה בלבד ) ;

// מצא את האינדקס האחרון של ערך מסוים במערך

int lastIndexOfValue = מַעֲרָך. LastIndexOf ( מספרים , 9 ) ;

לְנַחֵם. WriteLine ( 'אינדקס אחרון של ערך 9: ' + lastIndexOfValue ) ;

// קבל את אורך המערך

int אורך שוב = מספרים. אורך ;

לְנַחֵם. WriteLine ( 'שוב אורך המערך:' + אורך שוב ) ;

// קבל את הדרגה של המערך

int דַרגָה = מספרים. דַרגָה ;

לְנַחֵם. WriteLine ( 'דרגת המערך:' + דַרגָה ) ;

// שנה את גודל המערך

מַעֲרָך. שנה גודל ( מספרי רפ , 10 ) ;



// הפוך את התוכן של המערך

מַעֲרָך. לַהֲפוֹך ( מספרים ) ;

לְנַחֵם. WriteLine ( 'מערך לאחר היפוך:' ) ;

ל ( int אני = 0 ; אני < מספרים. אורך ; אני ++ )

{

לְנַחֵם. לִכתוֹב ( מספרים [ אני ] + '' ) ;

}

לְנַחֵם. WriteLine ( ) ;



// מיין את התוכן של המערך

מַעֲרָך. סוג ( מספרים ) ;

לְנַחֵם. WriteLine ( 'מערך לאחר מיון:' ) ;

ל ( int אני = 0 ; אני < מספרים. אורך ; אני ++ )

{

לְנַחֵם. לִכתוֹב ( מספרים [ אני ] + '' ) ;

}

}

}

תְפוּקָה

סיכום

המחלקה System.Array ב-C# מספקת בסיס לעבודה עם מערכים מכל הסוגים. בין אם עלינו ליצור מערך חד-ממדי פשוט או מערך רב-ממדי מורכב, המחלקה System.Array מספקת שיטות שונות לתמרן ולעבוד עם נתונים ביעילות. לתיאור מפורט של System.Array ב-C# קרא את המאמר.