כיצד להחזיר ערכים מרובים ממתקשר ב-C#

Kyzd Lhhzyr Rkym Mrwbym Mmtqsr B C



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

1: כיצד להחזיר ערכים מרובים למתקשר שיטה ב-C# באמצעות פרמטרים

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







שימוש במערכת;

תוכנית כיתה ציבורית
{
ריק סטטי ציבורי ראשי ( )
{
int [ ] מספרים = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
int min, max;
GetMinMax ( מספרים, דקה החוצה, מקסימום החוצה ) ;
Console.WriteLine ( $ 'מינימום: {דקה}, מקסימום: {מקס}' ) ;
}

ריק סטטי ציבורי GetMinMax ( int [ ] מספרים, out int min, out int max )
{
min = מספרים [ 0 ] ;
מקסימום = מספרים [ 0 ] ;

ל ( int i = 1 ; אני < מספרים.אורך; i++ )
{
אם ( מספרים [ אני ] < דקה )
{
min = מספרים [ אני ] ;
}
אם ( מספרים [ אני ] > מקסימום )
{
מקסימום = מספרים [ אני ] ;
}
}
}
}


בכך שיטת GetMinMax לוקחת מערך שלמים כקלט יחד עם שני פרמטרים של יציאה עבור min ומקסימום. מילת המפתח out משמשת כדי לציין שמשתנים אלו ישמשו לאחסון ערכי הפלט מהשיטה.



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



לבסוף, כאשר השיטה מסתיימת, הערכים המעודכנים של min ו-max מוחזרים דרך פרמטרי ה-out. בשיטת Main, ערכי פלט אלו מודפסים למסוף באמצעות שיטת WriteLine.





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



2: כיצד להחזיר ערכים מרובים למתקשר שיטה ב-C# באמצעות מחלקה מותאמת אישית

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

שימוש במערכת;

מרחב שמות MyNamespace
{
מחלקה ציבורית MinMaxResult
{
int public Min { לקבל; מַעֲרֶכֶת ; }
Public int Max { לקבל; מַעֲרֶכֶת ; }
}
מחלקה סטטית ציבורית MinMaxCalculator
{
סטטי MinMaxResult GetMinMax ( int [ ] מספרים )
{
int min = מספרים [ 0 ] ;
int max = מספרים [ 0 ] ;
ל ( int i = 1 ; אני < מספרים.אורך; i++ )
{
אם ( מספרים [ אני ] < דקה )
{
min = מספרים [ אני ] ;
}
אם ( מספרים [ אני ] > מקסימום )
{
מקסימום = מספרים [ אני ] ;
}
}
לַחֲזוֹר MinMaxResult חדש { Min = min, Max = Max } ;
}
}
תוכנית הכיתה
{
ריק סטטי ראשי ( חוּט [ ] args )
{
int [ ] מספרים = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
MinMaxResult result = MinMaxCalculator.GetMinMax ( מספרים ) ;
Console.WriteLine ( $ 'מינימום: {result.Min}, מקסימום: {result.Max}' ) ;
}
}
}


קוד C# זה מגדיר מרחב שמות בשם 'MyNamespace' המכיל שתי מחלקות: 'MinMaxResult' ו-'MinMaxCalculator'.

למחלקה 'MinMaxResult' יש שני מאפיינים: 'Min' ו-'Max', המשמשים לאחסון הערכים המינימליים והמקסימליים בהתאמה.

המחלקה 'MinMaxCalculator' מוכרזת כסטטית ויש לה שיטה אחת בשם 'GetMinMax' שלוקחת מערך של מספרים שלמים כקלט. שיטה זו משתמשת בלולאה כדי לחזור על המערך ולמצוא את ערכי המינימום והמקסימום. לאחר מכן, הוא יוצר מופע חדש של המחלקה 'MinMaxResult' ומאתחל את המאפיינים 'Min' ו-'Max' שלה עם הערכים שנמצאו לפני שהוא מחזיר אותו כפלט של השיטה.

לבסוף, המחלקה 'Program' מכילה שיטה סטטית בשם 'Main', שהיא נקודת הכניסה של התוכנית ובשיטה זו מאתחל מערך של מספרים שלמים ומועבר לשיטת 'GetMinMax' של המחלקה 'MinMaxCalculator' כדי לקבל ערכי המינימום והמקסימום.

סיכום

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