البرمجة

تحسين إرجاع القيم في C# باستخدام Tuple

في سياق تطوير تطبيقات C#، يعتبر القدرة على إرجاع عدة سلاسل من طريقة (method) واحدة تحديًا يواجه المطورين في بعض الأحيان. في المثال الذي قدمته، يظهر لي أنك ترغب في تعديل الكود لتمكينه من إرجاع كل من “name” و “nameConfirm” من الطريقة characterName().

قبل تعديل الكود، يجب عليك تغيير نوع الإرجاع من string إلى نوع بيانات يمكنه حمل القيمتين المطلوبتين. يمكنك استخدام التوابع الخاصة بـ C# مثل Tuple لتحقيق هذا الهدف. فيما يلي نسخة معدلة من الكود:

csharp
static (string, string) characterName() { Console.Write("Name your character: "); string name = Console.ReadLine(); Console.Write("Is this correct? (Y/N): "); string nameConfirm = Console.ReadLine(); return (name, nameConfirm); }

هنا تم تغيير نوع الإرجاع من string إلى (string, string)، وذلك لتمكين إرجاع قيمتين. بعد ذلك، يمكنك تحديث الدالة stageOne لتقبل القيمتين:

csharp
static (string, string) stageOne((string, string) nameInfo) { string nameConfirm = nameInfo.Item2; while (nameConfirm != "Y") { nameInfo = characterName(); nameConfirm = nameInfo.Item2; } if (nameConfirm == "Y") { Console.WriteLine("Alright, let's continue."); nameConfirm = Console.ReadLine(); } return (nameInfo.Item1, nameConfirm); }

وبهذا، يمكنك الآن استدعاء الدالة characterName للحصول على قيمتي “name” و “nameConfirm” واستخدامهما في الدالة stageOne. يمكنك أيضًا استخدام القيم المرجعية لاحقًا في البرنامج الرئيسي أو أي مكان آخر حيث تحتاج إلى الوصول إلى هاتين السلسلتين.

المزيد من المعلومات

في إطار البرمجة بلغة C#، يعد استخدام التوابع (methods) وإرجاع قيم متعددة أمرًا هامًا لتحقيق كود أنيق وقابل للصيانة. إذا كنت ترغب في توسيع مشروعك أو فهم مفاهيم إضافية، يمكنني توفير بعض المعلومات الإضافية.

  1. Tuple في C#:

    • Tuple هو نوع بيانات يمكن استخدامه لتخزين مجموعة من القيم. في المثال السابق، استخدمنا Tuple لإرجاع قيمتين من الدالة.
    • يمكنك أيضًا استخدام ValueTuple الذي يأتي مدمجًا مع C# ويوفر تحسينات في الأداء.
  2. تنظيم الكود:

    • من أجل جعل الكود أكثر تنظيمًا وقابلاً للصيانة، يمكنك فصل الأكواد إلى دوال صغيرة تقوم بوظائف محددة. هذا يسمى بمبدأ تقسيم العمل (Separation of Concerns).
    • يمكنك أيضًا استخدام الكومنتات لتوضيح أقسام الكود والأغراض المختلفة.
  3. التحكم في الحوار:

    • قد يكون من الجيد إضافة مزيد من التحكم في حوار المستخدم. مثلاً، التحقق من صحة إدخالات المستخدم، وتوفير رسائل تفصيلية لتوجيههم.
  4. التعامل مع الاستثناءات:

    • يمكنك تحسين الكود للتعامل مع حالات الاستثناء (Exceptions) التي قد تحدث خلال تفاعل المستخدم.
  5. استخدام الـ Console.WriteLine بشكل أفضل:

    • يمكنك استخدام Console.WriteLine بشكل أكثر ذكاءً لتوجيه المستخدم وتقديم مخرجات واضحة.

قم بتكامل هذه الأفكار في كودك بناءً على متطلبات مشروعك الخاص، ولا تتردد في طرح أي أسئلة إضافية تحتاج إلى مساعدة.

زر الذهاب إلى الأعلى