في لغة C#، لا توجد "خاصية Output" مُعرّفة بشكل مُباشر ككيان مُنفصل كما قد تتوقّع. بدلًا من ذلك، تُستخدم آليات مُتعدّدة لإخراج البيانات وعرضها للمستخدم، وتُعتبر هذه الآليات بمثابة "Output" في سياق لغة C#. إليك أهم هذه الآليات مع شرح مُفصّل:

1. كائن Console:

يُعتبر كائن Console هو الطريقة الأساسية لإخراج البيانات في تطبيقات C# الموجّهة للواجهة النصية (Console Applications). يُوفّر هذا الكائن عدّة توابع (Methods) لإخراج أنواع مُختلفة من البيانات:

  • Console.Write(): يَطبع النص المُعطى كما هو دون إضافة سطر جديد بعده. مثال:
C#
Console.Write("مرحباً ");
Console.Write("بالعالم!"); // الناتج: مرحباً بالعالم!
  • Console.WriteLine(): يَطبع النص المُعطى مع إضافة سطر جديد بعده. مثال:
C#
Console.WriteLine("السطر الأول");
Console.WriteLine("السطر الثاني"); // الناتج: السطر الأول
// السطر الثاني
  • Console.Out: يُستخدم هذا الخاصيّة للوصول إلى دفق الإخراج القياسي (Standard Output Stream). يُمكن استخدامه بشكل مُباشر للكتابة، ولكنه أقل شيوعًا من Console.Write و Console.WriteLine.

2. تنسيق السلاسل النصية (String Formatting):

يُمكن استخدام تنسيق السلاسل النصية للتحكّم في طريقة عرض البيانات، مثل تنسيق الأرقام والتواريخ. يُستخدم لذلك الرمز {} كعناصر نائبة (Placeholders):

C#
int x = 10;
double y = 3.14159;
Console.WriteLine("قيمة x هي {0} وقيمة y هي {1:F2}", x, y); // الناتج: قيمة x هي 10 وقيمة y هي 3.14

في هذا المثال:

  • {0} يُمثّل العنصر النائب لقيمة x.
  • {1:F2} يُمثّل العنصر النائب لقيمة y مع تنسيقها لعرض رقمين عشريين فقط.

3. مُعالجة الاستثناءات (Exception Handling):

عند حدوث خطأ في البرنامج، يُمكن استخدام Console.Error لإخراج رسالة خطأ إلى دفق الخطأ القياسي (Standard Error Stream)، وهو مُنفصل عن دفق الإخراج القياسي. يُفيد هذا في تمييز رسائل الخطأ عن المخرجات العادية. مثال:

C#
try
{
// كود قد يُسبّب خطأ
int result = 10 / 0;
}
catch (DivideByZeroException ex)
{
Console.Error.WriteLine("حدث خطأ: " + ex.Message);
}

4. Debug.Write و Debug.WriteLine:

تُستخدم هذه التوابع من فئة Debug في مساحة الاسم System.Diagnostics لإخراج معلومات تتبع الأخطاء (Debugging) أثناء التطوير. لا تظهر هذه المخرجات في التطبيق النهائي، ولكنها تُعرض في نافذة الإخراج (Output Window) في بيئة التطوير (IDE) مثل Visual Studio.

5. واجهات المستخدم الرسومية (GUI):

في تطبيقات Windows Forms أو WPF، تُستخدم عناصر التحكّم الرسومية (مثل Label و TextBox) لعرض البيانات للمستخدم. هذه تُعتبر أيضًا شكلًا من أشكال الإخراج، ولكنها تختلف عن الإخراج النصي في تطبيقات Console.

باختصار: "Output" في C# يشمل جميع الطرق التي يُمكن للبرنامج من خلالها عرض البيانات للمستخدم، سواءً كانت نصوصًا في نافذة الأوامر أو معلومات تتبع الأخطاء أو عناصر رسومية في واجهة المستخدم. كائن Console هو الأداة الرئيسية للإخراج النصي في تطبيقات Console