כיצד לעבוד עם Tuple ב- C #

טופלים אינם דבר חדש - הם קיימים כבר די הרבה זמן בשפות תכנות כמו F #, Python וכו 'וגם בבסיסי נתונים. Tuple יכול להיות מוגדר כמבנה נתונים המורכב מרצף סופי וסופי של אלמנטים בלתי ניתנים לשינוי והטרוגניים בגדלים קבועים. אלמנטים בטופלה אינם ניתנים לשינוי, כלומר הם נוגעים לסוג מסוים. אתה יכול לנצל את הכדולים כדי להחזיר מספר ערכים משיטה וגם ליצור אוספים מרוכבים. אתה יכול למנף את השיטות הסטטיות של הכיתה System.Tuple לעבודה עם צמרות ב- .Net.

מה זה טופלה?

Tuple הוא מבנה נתונים המורכב מאוסף מסודר והטרוגני של אלמנטים "n" - האלמנטים בצמרת יכולים להיות מאותו סוג או אפילו להיות מסוגים שונים. במתמטיקה, n-tuple יכול להיות מוגדר כרצף או כרשימה מסודרת של אלמנטים "n". יש לציין כי "n" כאן מציין מספר שלם חיובי. יתר על כן, יכול להיות רק 0 כפולה אחת, כלומר רצף ריק.

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

מדוע עלינו להשתמש בטיפלס?

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

אילוץ עיקרי אחד בשימוש בכדורים במקרה זה הוא שלא תוכלו לקבל שמות משמעותיים של המאפיינים ב- Tuple - הם ייקראו כ- Item1, Item2, Item3 וכן הלאה. עם זאת, ככל שהקוד שלך המשתמש ב- Tuple גדל, הדבר יהפוך לבלתי קריא וקשה לתחזוקה לאורך זמן. יש לציין גם כי Tuple הוא מחלקה ולא מבנה. לפיכך, מקרים של Tuple מאוחסנים תמיד בערימה המנוהלת. זה עשוי אפילו להפוך לאתגר ביצועים עבורך אם מקרים של Tuple גדולים בגדלים והם לא מנוקים בצורה נבונה. הנה קריאה מעניינת על Tuple ב- MSDN.

תכנות טיפולים ב- C #

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

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

קטע הקוד הבא מראה כיצד ניתן ליצור לאתחל Tuple.

var listEmployee = new List

{

                Tuple.Create(1, "Joydip Kanjilal", "INDIA"),

                Tuple.Create(2, "Michael Stevens", "USA" ),

                Tuple.Create(3, "Steve Barnes", "USA" )

};

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

foreach(Tuple tuple in listEmployee)

           {

               Console.WriteLine(tuple.Item2);

           }

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

static void Main(string[] args)

       {

           var listEmployee = new List

           {

               Tuple.Create(1, "Joydip Kanjilal", "INDIA"),

               Tuple.Create(2, "Michael Stevens", "USA" ),

               Tuple.Create(3, "Steve Barnes", "USA" )

           };

           foreach(Tuple tuple in listEmployee)

           {

               Console.WriteLine(tuple.Item2);

           }

           Console.Read();

       }

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

var tuple = Tuple.Create(1,"Joydip Kanjilal",new Tuple("Hyderabad","India"));