الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعرف على Tuples (جديد دوت نت 4)

بدأه عبد العظيم بخاري في 7 أكتوبر 2010 · 3 رد · 908 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

احد احدث الأنواع التي تم اضافتها للدوت نت 4 هو نوع Tuple وهو عبارة عن رفرنس يمثل تركيب للبيانات يمكن أن يجمع عدة انواع مختلفة منها في آن واحد !. وهذا ما يميزها عن List وبقية انواع generics التي نعرفها جميعاً .

يمكن للtuple الواحد أن يحتوي على 8 عناصر الأخير منها يكون من نوع tuple Rest

var MyFirstTuple = System.Tuple.Create(32, 35, 75, 59, 345, 236, 8564, 2566);

Console.WriteLine("1st item: {0}", MyFirstTuple.Item1); // 32
Console.WriteLine("4th item: {0}", MyFirstTuple.Item5); // 345
Console.WriteLine("8th item: {0}", MyFirstTuple.Rest); // (2566)
Console.ReadKey();

لاحظ أننا نصل للعنصر الأخير من الtuple عن طريق MyFirstTuple.Rest .

انظر للمثال التالي ولاحظ كيف أننا قمنا بعمل عدة انواع داخل الtuple:

var MySecondtTuple = System.Tuple.Create("is", 5.9, 8.0f, new List<char> { 'e', 't', 'h'}, "Microsoft", newStack<int>(4), "best", MyFirstTuple);

// سوف نرتب الأحرف في العنصر الرابع ونعكسهم
MySecondtTuple.Item4.Sort();
MySecondtTuple.Item4.Reverse();

Console.WriteLine("{0} {1} {2} {3}", MySecondtTuple.Item5,MySecondtTuple.Item1,string.Concat(MySecondtTuple.Item4), MySecondtTuple.Item7);
// Microsoft is the best


Console.WriteLine("Rest: {0}", MySecondtTuple.Rest);// ((32, 35, 75, 59, 345, 236, 8564, 2566))
Console.WriteLine("Rest's 2nd element: {0}", MySecondtTuple.Rest.Item1.Item2); //32
Console.WriteLine("Rest's 7th element: {0}", MySecondtTuple.Rest.Item1.Item7); //8564
Console.ReadKey();

المثال السابق يوضح كيف قمنا باعطاء قيم تتكون من انواع مختلفة في tuple واحد وثم بعد ذلك قمنا بالتعامل مع هذه القيم .

لاحظ أن العنصر الأخير من الtuple يحتوي على الtuple السابقة التي عرفناها في المثال الأول وبهذه الطريقة يمكننا أن نحصل فعلياً على اكثر من ال8 عناصر المسموحة لنا .

الفائدة الرائعة للtuple أنه يمكن استعمالها لتكون نوع ميثود مما يمكن هذا الميثود من ارجاع عدة قيم وانواع مختلفة في ان واحد !!

لمزيد من المعلومات عن tuples راجع الرابط التالي :

http://msdn.microsoft.com/en-us/magazine/dd942829.aspx

عبد العظيم بخاري

http://www.el-bukhari.com/2010/10/tuples-4.html

1
#2

مشكور اخي على الدروس التي تقدمها الخاصة ب دوت نت 4.

ارى لو يتم وضع هذه الدروس او روابط لها في موضوع واحد لتسهيل الوصول اليها.

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#3

شكرا على هذا المعلومات الجديدة والمفيدة في آن معاً.

#4
عبد العظيم بخاري كتب:

الفائدة الرائعة للtuple أنه يمكن استعمالها لتكون نوع ميثود مما يمكن هذا الميثود من ارجاع عدة قيم وانواع مختلفة في ان واحد !!

ممتاز...أنوي استخدام هذه الخاصية في برامجي القادمة (إن كان لدي الوقت لذلك :wink: )

مؤسس شبكة مواقع إجابتي أول شبكة مواقع عربية للأسئلة والأجوبة

مواضيع مشابهة