System.Tuple فئة جديدة في منصة الدوت نت 4.0

استكمالا لسلسة مقالات: الجديد في منصة دوت  نت 4.0 سنقوم اليوم بالتطرق لفئة Tuple وهي عبارة عن نوع جديد من المتغيرات.

ال Tuple  عبارة عن مجموعة ثابتة الحجم من العناصر تتكون من عدة متغيرات متشابهة النوع أو مختلفة (heterogeneous)، وعند طرح هذه الفكرة قد تخطر على بالك المصفوفة التقليدية وهو فعلا تصور صحيح، ولكن يختلف النوع Tuple عن المصفوفة في أنه كما ذكرت يمكن أن يحتوي على عدة أنواع من المتغيرات وليس نوع واحد فقط، ولا يخطر بذهنك أنه يحتوي على عدة  أنواع مختلفة من المتغيرات على أن ال Tuple  يحتوي على عناصر عامة مثلا من نوع Object، لا فالTuple يحتوي على أنواع متغيرات محددة (strong typing)  وهذا مثال على إنشاء Tuple جديد

Code – Visual Basic.NET

Dim t As New Tuple(Of String, Integer, Boolean)("developers", 1, True)

Code – C#.NET

Tuple<string, int, bool> t = new Tuple<string, int, bool>("www.developers.ps", 1, true);

System.tuple

كما في الصورة فعند تعريف المتغير ووضع نوع الحقول، نرى أن إسناد القيم سيكون في تعليمات المتغير مثل ترتيب أنواع المتغيرات المرسلة وهي تسمى بالأسماء الافتراضية item1,item2,item3,item4…etc

يمكن الوصول لعناصر الـ Tuple  عبر كتابة اسم المتغير ثم اسم العنصر كالتالي

Code

Response.Write(t.Item1)

حيث سيطبع developers  مع العلم أنها عناصر للقراءة فقط ولا يمكن إسناد قيم جديدة لها، بمعنى أن قيم عناصر الTuple  ترسلها مرة واحدة وهي عند التصريح عنه ولا يمكن تغييرها (Tuple is immutable)

توجد طريقة أخرى لإنشاء متغير من هذه الفئة عبر الطريقة المشتركة Tuple.Create

Code – Visual Basic.NET

Dim tv = Tuple.Create(1,"www.developers.ps",2,4,44)

Code – C#.NET

var tt = Tuple.Create("Hello", 2);

بقي أن أتطرق إلى أن هذا النوع من المتغيرات هو من النوع المرجعي Reference Type  ويعطيك حتى 8 عناصر قابلة للزيادة لأي عدد من العناصر تريده.

قد تكون فكرة الـ Tuple غريبة نوعا ما، ولم تخطر ببالك كيفية استخدامها بعد، ولكن كن واثق بأنها  حل سريع وبديل عن بعض الطرق التي نستخدمها حاليا

وفق الله الجميع

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.