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

تعريف مصطلحات في C# var, object, partial class

Lamia Altayeb

السؤال

في c#

ايش الفرق بين var و object 

لما نستخدمهم بدوارة foreach? 

أيضا ماذا يعني partial class 

كلاس جزئي بس ما المقصود به؟ 

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...