כיצד להמיר מערך לרשימה ב-C#

Kyzd Lhmyr M Rk Lrsymh B C



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

שיטות להמרת מערך לרשימה ב-C#

ב-C#, ישנן מספר טכניקות להמרת מערך לרשימה, כולל:

בואו נסביר את השיטות הללו אחת לאחת.







1: שימוש בשיטת List.AddRange()

כדי להמיר מערך לרשימה ב-C#, אתה יכול ליצור רשימה חדשה ולאחר מכן להשתמש ב- AddRange() שיטה של ​​הרשימה כדי להוסיף את האלמנטים מהמערך המקורי.



בואו ניקח דוגמה דומה ונשתמש ב- AddRange() שיטה להמרת המערך לרשימה.



שימוש במערכת;
באמצעות System.Collections.Generic;

תוכנית הכיתה
{
ריק סטטי ראשי ( )
{
חוּט [ ] arr = { 'ל' , 'אני' , 'נ' , 'ב' , 'איקס' , 'ח' , 'אני' , 'נ' , 'ט' } ;
רשימה < חוּט > myList = newList ( ) ;
myList.AddRange ( arr ) ;

Console.WriteLine ( 'הרשימה שהוסבה מכילה:' ) ;
לכל אחד ( תו מחרוזת ב הרשימה שלי )
{
קונסולה.כתוב ( אופי ) ;
}
}
}

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





2: שימוש בשיטת Array.ToList() בתוך LINQ

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



השימוש ב-Array.ToList() מודגם בקטע הקוד הבא. ניתן להפוך מערך לרשימה באמצעות הפונקציה Array.ToList() של שפת C# של LINQ.

שימוש במערכת;
באמצעות System.Collections.Generic;
באמצעות System.Linq;

תוכנית הכיתה
{
ריק סטטי ראשי ( )
{
חוּט [ ] arr = { 'ל' , 'אני' , 'נ' , 'ב' , 'איקס' , 'ח' , 'אני' , 'נ' , 'ט' } ;

רשימה < חוּט > myList = arr.ToList ( ) ;

Console.WriteLine ( 'הרשימה שהוסבה מכילה:' ) ;
לכל אחד ( תו מחרוזת ב הרשימה שלי )
{
קונסולה.כתוב ( אופי ) ;
}
}
}

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

3: שימוש בשיטת Add()

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

שימוש במערכת;
באמצעות System.Collections.Generic;

תוכנית הכיתה
{
ריק סטטי ראשי ( )
{
חוּט [ ] arr = { 'ל' , 'אני' , 'נ' , 'ב' , 'איקס' , 'ח' , 'אני' , 'נ' , 'ט' } ;
רשימה < חוּט > myList = newList ( ) ;
לכל אחד ( תו מחרוזת ב arr )
{
myList.Add ( אופי ) ;
}
Console.WriteLine ( 'הרשימה שהוסבה מכילה:' ) ;
לכל אחד ( תו מחרוזת ב הרשימה שלי )
{
קונסולה.כתוב ( אופי ) ;
}
}
}

הקוד לעיל משתמש במרחב השמות של המערכת ובמרחב השמות System.Collections.Generic כדי להמיר מערך מחרוזות ל- רשימה באמצעות לולאה קדמית וה- לְהוֹסִיף שיטה. הרכיבים ברשימה מודפסים לאחר מכן למסוף.

4: שימוש ב- List Constructor

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

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

שימוש במערכת;
באמצעות System.Collections.Generic;

תוכנית הכיתה
{
ריק סטטי ראשי ( )
{
חוּט [ ] arr = { 'ל' , 'אני' , 'נ' , 'ב' , 'איקס' , 'ח' , 'אני' , 'נ' , 'ט' } ;
רשימה < חוּט > myList = newList ( arr ) ;
Console.WriteLine ( 'הרשימה שהוסבה מכילה:' ) ;
לכל אחד ( תו מחרוזת ב הרשימה שלי )
{
קונסולה.כתוב ( אופי ) ;
}
}
}

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

סיכום

ה-C# אתה יכול להמיר מערך לרשימה באמצעות List.AddRange(), Array.ToList() בתוך LINQ, ה-Add() ובנאי List. כל שיטה נותנת מענה ייחודי לתהליך ההמרה וניתנת לניצול בהתאם לצרכים ספציפיים. הבנה עמוקה של כל השיטות הללו משפרת את כישורי התכנות.