اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

في حال وجود مثال كامل أستطيع توضيح كل سطر.

Var هو كلمة مفتاحية تحجز متغير يحوي قيمة من نمط معين رقم int أو سلسلة نصية String .. حسب إدخال المستخدم

// int value رقم 
var age = 25;  
Console.WriteLine("var holds an int = {0}", age);  

// string value  سلسلة نصية
var name = "Mahesh Chand";  
Console.WriteLine("var holds a string = {0}", name); 

تعتبر طريقة أسرع بعدم تحديد النمط

int myNum = 15;
Console.WriteLine(myNum);
string name = "John";
Console.WriteLine(name);

Object هي غرض متغير من نوع صنف Class ما ضمن المشروع (عادة الصنف يحوي على عدة أنماط سويا مع دوال).

class Car 
{
  string color = "red";
  int year = 2020;
  void print() {
  	Console.WriteLine(color);
    Console.WriteLine(year);
  }
  
  static void Main(string[] args)
  {
    Car myObj = new Car();
	myObj.print();
  }
}

foreach هي حلقة تدور على مصفوفة و لكل عنصر جزئي من المصفوفة نريد نسخة منه لنتعامل معها ضمن منطق الحلقة مثل اختبار القيمة.

سيأخذ المتغير المحلي (خاص بالحلقة)  i جميع قيم المصفوفة cars بالتسلسل و ستتم طباعة كل منهم على حدى في تكرار للحلقة

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

foreach (string i in cars) 
{
  Console.WriteLine(i);
}

الكلاس الجزئي هو ميز في #c تجعلنا قادرين على كتابة صنف ما في أكثر من ملف و نستخدم الكلمة المفتاحية partial معها.

  • 0
نشر

 

مثلا عرفت مصفوفة من نوع 

object s=new object(4) { 'ali', 77,'A',2.77}

عند المرور على العناصر بواسطة

Foreach(var item in s)

ممكن أيضا امر على العناصر بواسطة

Foreach(object item in s)

هنا مره استخدمت object ومره var

ماهو الفرق في هذا المثال؟

  • 0
نشر
بتاريخ منذ ساعة مضت قال Lamia Altayeb:

ماهو الفرق في هذا المثال؟

كلاهما اسم مستعار للدلالة على العنصر الحالي الذي تمر عليه المصفوفة.

نمطهم الفعلي حسب نوع s.

المثالين للدلاة على أن هذه البنية البرمجية الخاصة بالحلقة تعمل مع أي نمط بيانات

  • 0
نشر
بتاريخ 25 دقائق مضت قال Lamia Altayeb:

هذا يعني انه لا يوجد فرق مميز بين النوعين؟ 

لانه طُلب منا بحث عن الفرق بين النوعين في هذا المثال بالتحديد ومتى استخدم var ومتى object 

المعنى دلالي أي عندما تكتب object الشخص الذي يقرأ الشيفرة يفهم أن s هي array of objects أما var في حالة نمط بيانات بسيط ولكن var يمكنها أن تسلك سلوك object.

يعتمد على نوع s.

يمكنك قراءة هذا التوثيق المفيد.

من هنا: boxing-and-unboxing c# objects

استخدام object لمتغير int تدعى boxing حيث نعلم أن object هو كائن عام (أعم من int) يمكننا قصر القيمة casting مرة أخرى عندما تريد استخدامها (unboxing)

استخدام var سيتم عمل compile حسب نوع s.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...