المتغيرات و Operaتورس مع المثال

⚡ ملخص ذكي

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

  • 📦 المتغيرات: المتغير هو منطقة تخزين مُسماة يحدد نوع بياناتها الحجم والتخطيط والعمليات الصالحة لقيمتها.
  • 🔤 إعلان: يوضح تعريف String و Int32 كيف تتعامل لغة C# مع النصوص والأعداد الصحيحة، ثم تطبعها باستخدام Console.Write.
  • ➗ Operaمجموعات تور: تشمل عوامل التشغيل الحسابية والعلائقية والمنطقية العمليات الحسابية والمقارنات والتحققات المنطقية التي توجه قرارات البرنامج.
  • 🧮 التخصيص والبتات: تعمل عوامل التشغيل المركبة مثل الجمع والمساواة على تقصير عمليات التحديث، بينما تعمل عوامل التشغيل على مستوى البت على البتات الفردية لقيم الأعداد الصحيحة.
  • 🔢 الأولوية: Operaتحدد أسبقية وترابطية الترتيب الذي يقوم به C# بتقييم أجزاء التعبير المعقد.
  • 🤖 مساعدة الذكاء الاصطناعي: يساعد GitHub Copilot و ML.NET في إنشاء تعريفات المتغيرات، ومنطق العمليات، وتعيين القيم في ميزات التعلم الآلي.

متغيرات لغة سي شارب و Operaالاختصاصات

المتغيرات في لغة C#

المتغير هو اسم يطلق على منطقة التخزين المستخدمة لتخزين قيم أنواع البيانات المختلفة. يحتاج كل متغير في لغة C# إلى نوع معين، وهو ما يحدد حجم وتخطيط ذاكرة المتغير.

على سبيل المثال، يمكن أن يكون المتغير من نوع String، مما يعني أنه سيتم استخدامه لتخزين قيمة سلسلة. بناءً على نوع البيانات، يمكن إجراء عمليات محددة على المتغير.

على سبيل المثال، إذا كان لدينا متغير عدد صحيح، فإن عمليات مثل الجمع والطرح ستكون قابلة للتنفيذ.tracيمكن إجراء عمليات حسابية على المتغير. ويمكن تعريف عدة متغيرات في البرنامج.

دعونا نلقي نظرة على مثال سريع لإعلان متغيرات متعددة لأنواع بيانات مختلفة.

في مثالنا، سوف نقوم بتعريف متغيرين، أحدهما من النوع "string" والآخر من النوع "Integer". سنقوم بعد ذلك بعرض قيم هذه المتغيرات على وحدة التحكم. لكل مثال، سنقوم بتعديل الوظيفة الرئيسية فقط في ملف Program.cs الخاص بنا.

المتغيرات في لغة C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   String message="The value is ";
   Int32 val=30;
   
   Console.Write(message+val);
   Console.ReadKey();
  }
 }
}

Code تفسير:-

  1. تم الإعلان عن متغير من نوع البيانات سلسلة. اسم المتغير هو "رسالة". قيمة المتغير هي "القيمة".
  2. تم الإعلان عن متغير من نوع البيانات Integer (Int32). اسم المتغير هو "فال". قيمة المتغير هي 30.
  3. وأخيرًا، يتم استخدام عبارة Console.write لإخراج كل من قيمة متغير السلسلة والعدد الصحيح.

إذا تم إدخال الكود أعلاه بشكل صحيح وتم تنفيذ البرنامج بنجاح، سيتم عرض الإخراج التالي.

الإخراج:

المتغيرات في لغة C#

من المخرجات، يمكنك أن ترى أن قيم كل من متغير السلسلة والمتغير الصحيح يتم عرضها على وحدة التحكم.

الآن وقد أصبح بإمكان المتغيرات أن تحمل قيماً، فإن الخطوة التالية هي التصرف بناءً على تلك القيم. Operaتُستخدم الدوال لإجراء عمليات على قيم من أنواع بيانات مختلفة. على سبيل المثال، لإجراء عملية جمع عددين، يُستخدم عامل الجمع (+).

دعونا نرى جدول المشغلين المتاحين لمختلف أنواع البيانات.

C# Operaالاختصاصات

علم الحساب Operaالاختصاصات

هذه عوامل تُستخدم لإجراء العمليات الحسابية على الأرقام. فيما يلي قائمة العوامل المتاحة في C#.

المُشغل الوصف
+ يضيف اثنين من المتعاملين
- فرعيةtracts هو المعامل الثاني من الأول
* يضاعف كلا المعاملين
/ قسمة البسط على ناقص البسط
% معام Operaتور والباقي بعد تقسيم عدد صحيح
++ عامل الزيادة يزيد قيمة العدد الصحيح بمقدار واحد
- عامل التناقص يقلل قيمة العدد الصحيح بمقدار واحد

قصصي Operaالاختصاصات

هذه هي المشغلات المستخدمة لإجراء عمليات علائقية على الأرقام. فيما يلي قائمة بالمشغلات العلائقية المتوفرة في C#.

المُشغل الوصف
== يتحقق مما إذا كانت قيم المتعاملين متساوية أم لا، إذا كانت الإجابة بنعم، يصبح الشرط صحيحًا.
!= يتحقق ما إذا كانت قيم المتعاملين متساوية أم لا، إذا لم تكن القيم متساوية فإن الشرط يصبح صحيحا.
> يتحقق مما إذا كانت قيمة المتغير الأيسر أكبر من قيمة المتغير الأيمن، إذا كانت الإجابة بنعم، يصبح الشرط صحيحًا.
< يتحقق ما إذا كانت قيمة المتغير الأيسر أقل من قيمة المتغير الأيمن، إذا كانت الإجابة بنعم، يصبح الشرط صحيحًا.
>= يتحقق مما إذا كانت قيمة المتغير الأيسر أكبر من أو تساوي قيمة المتغير الأيمن، إذا كانت الإجابة بنعم، يصبح الشرط صحيحًا.
<= يتحقق مما إذا كانت قيمة المتغير الأيسر أقل من أو تساوي قيمة المتغير الأيمن، إذا كانت الإجابة بنعم، يصبح الشرط صحيحًا.

منطقي Operaالاختصاصات

هذه هي المشغلات المستخدمة لإجراء العمليات المنطقية على القيم. فيما يلي قائمة بالمشغلات المتوفرة في C#.

المُشغل الوصف
&& هذا هو عامل AND المنطقي. إذا كان كلا المتعاملين صحيحين، فإن الشرط يصبح صحيحًا.
|| هذا هو عامل OR المنطقي. إذا كانت أي من المتغيرات صحيحة، يصبح الشرط صحيحًا.
! هذا هو عامل NOT المنطقي.

دعونا نلقي نظرة سريعة على مثال لكيفية استخدام عوامل التشغيل في .NET.

في مثالنا، سنعرّف متغيرين من نوع عدد صحيح ومتغيرًا منطقيًا واحدًا. ثم سنجري عمليات حسابية وعلاقاتية ومنطقية عليها.

C# Operaالاختصاصات

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 val1 = 10,val2 = 20;
   bool status = true;
   
   Console.WriteLine(val1 + val2);
   Console.WriteLine(val1 < val2);
   Console.WriteLine(!(status));
   Console.ReadKey();
  }
 }
}

Code تفسير:-

  1. تم تعريف متغيرين صحيحين، أحدهما val1 والآخر val2. سيتم استخدامهما لعرض العمليات الحسابية والعلائقية. تم تعريف متغير Boolean لعرض العمليات المنطقية.
  2. يظهر مثال لعملية حسابية يتم فيها تنفيذ عامل الجمع على val1 وval2. تتم كتابة النتيجة في وحدة التحكم.
  3. يظهر مثال لعملية علائقية حيث يتم تنفيذ عامل أقل من على val1 وval2. تتم كتابة النتيجة في وحدة التحكم.
  4. يظهر مثال للعملية المنطقية، حيث يتم تطبيق العامل المنطقي (!) على متغير الحالة. يعكس عامل NOT المنطقي القيمة الحالية لأي قيمة منطقية. لذا إذا كانت القيمة المنطقية "true"، فسوف يعيد عامل NOT المنطقي القيمة "false" والعكس صحيح. في حالتنا، نظرًا لأن قيمة متغير الحالة "true"، فستظهر النتيجة "false". تتم كتابة النتيجة في وحدة التحكم.

إذا تم إدخال الكود أعلاه بشكل صحيح وتم تنفيذ البرنامج بنجاح، سيتم عرض الإخراج.

الإخراج:

C# Operaالاختصاصات

مهمة لغة C# Operaالاختصاصات

تُخزّن عوامل الإسناد نتيجة تعبيرٍ ما في متغير. عامل الإسناد الأساسي هو علامة المساواة المفردة، كما توفر لغة C# عوامل مركبة تجمع بين الإسناد وعملية حسابية أو عملية على مستوى البت. تُبقي هذه الصيغ المختصرة عبارات التحديث قصيرة وسهلة القراءة.

المُشغل الوصف
= يُسند قيمة المعامل الأيمن إلى المعامل الأيسر
+= يضيف المعامل الأيمن إلى المعامل الأيسر ويُسند النتيجة
-= فرعيةtracيُخرج المعامل الأيمن من المعامل الأيسر ويُسند النتيجة
*= يقوم بضرب كلا المعاملين وتعيين النتيجة للمعامل الأيسر
/= يقسم المعامل الأيسر على المعامل الأيمن ويُسند النتيجة
%= يأخذ باقي قسمة كلا المعاملين ويسند الباقي إلى المعامل الأيسر

على سبيل المثال، كتابة count += 5 هي طريقة مختصرة لكتابة count = count + 5. تعمل عوامل الإسناد المركبة مع كل عامل حسابي ومع عوامل البت أيضًا، لذلك تظهر غالبًا داخل الحلقات والعدادات حيث يتم تحديث قيمة بشكل متكرر.

C# العمليات الثنائية Operaالاختصاصات

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

المُشغل الوصف
& تُضبط عملية AND الثنائية كل بت من بتات النتيجة على 1 فقط عندما يكون كلا البتّين المتطابقين 1
| تقوم عملية OR الثنائية بتعيين كل بت من بتات النتيجة إلى 1 عندما يكون أي من بتات المطابقة 1
^ تُعيّن عملية XOR الثنائية كل بت من بتات النتيجة إلى 1 فقط عندما يختلف البتّان المتطابقان
~ المكمل الثنائي يعكس كل بت من معامله الوحيد
<< يؤدي الضغط على زر الإزاحة إلى اليسار إلى تحريك البتات إلى اليسار وملء المواضع الفارغة بالأصفار.
>> يؤدي الضغط على زر الإزاحة إلى اليمين إلى تحريك البتات إلى اليمين بمقدار عدد محدد من المواضع

على سبيل المثال، يقارن التعبير 5 & 3 بتات كلا الرقمين ويعيد 1. ولأن الإزاحة اليسرى الواحدة تضاعف القيمة، يمكن لعوامل التشغيل على مستوى البت إجراء بعض العمليات الحسابية بشكل أسرع من نظائرها الحسابية، وهو أمر مهم في الرسومات والتعليمات البرمجية المضمنة.

C# Operaالأسبقية والترابط

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

  • الأولوية: تُجرى عمليتا الضرب والقسمة قبل عمليتي الجمع والطرح.tracوبالتالي، فإن 2 + 3 * 4 تعطي 14، وليس 20.
  • الترابط الأيسر: معظم عوامل التشغيل الثنائية تتجمع من اليسار إلى اليمين، لذلك يتم تقييم a – b – c على أنها (a – b) – c.
  • الترابط الصحيح: تتجمع عوامل التعيين والشرط من اليمين إلى اليسار، لذا فإن x = y = z يعين z إلى y أولاً.
  • الأقواس: التفافping يؤدي جزء من التعبير الموجود بين قوسين إلى تجاوز الترتيب الافتراضي وتوضيح العملية الحسابية المقصودة.

إن الاعتماد على الأقواس بدلاً من حفظ جدول الأسبقية بالكامل يحافظ على سهولة قراءة التعبيرات المعقدة ويساعد على منع أخطاء الحساب الدقيقة.

الأسئلة الشائعة

يمكن للمتغير أن يغير قيمته أثناء التنفيذ، بينما الثابت، المُعلن عنه باستخدام الكلمة المفتاحية const، يكون ثابتًا عند وقت الترجمة ولا يتغير أبدًا. استخدم المتغيرات للبيانات التي يتم تحديثها والثوابت للقيم مثل باي التي تبقى ثابتة.

تتيح الكلمة المفتاحية var للمترجم استنتاج نوع المتغير المحلي من قيمته الابتدائية، لذا فإن var count = 10 تُنشئ متغيرًا من نوع int. يظل المتغير مُحدد النوع بدقة؛ تُزيل var فقط الحاجة إلى كتابة اسم النوع صراحةً.

علامة المساواة المفردة هي عامل التخصيص، الذي يخزن قيمة في متغير. أما علامة المساواة المزدوجة فهي عامل المساواة، الذي يقارن بين قيمتين ويعيد القيمة "صحيح" أو "خطأ". والخلط بينهما خطأ شائع لدى المبتدئين.

يعمل المعامل الأحادي على مُعامل واحد، مثل النفي المنطقي ! أو الزيادة ++. ويعمل المعامل الثنائي على مُعاملين، مثل الجمع + أو العطف المنطقي &&. كما تحتوي لغة C# على معامل ثلاثي واحد.

يُعدّ عامل الشرط الثلاثي ?: اختصارًا لعبارة if-else. فهو يُقيّم شرطًا، ثم يُعيد القيمة الأولى عندما يكون الشرط صحيحًا، والقيمة الثانية عندما يكون خاطئًا، كما في المثال التالي: int max = a > b ? a : b.

يُعيد عامل دمج القيم الفارغة ?? المعامل الأيسر إذا لم تكن قيمته فارغة، وإلا فإنه يُعيد المعامل الأيمن. على سبيل المثال، يُحدد الاسم ?? "Guest" قيمة افتراضية. أما المتغير ??= فيُعيّن قيمة فقط عندما تكون القيمة المستهدفة فارغة.

نعم. يقترح GitHub Copilot تعريفات المتغيرات، وتعبيرات المعاملات، وعمليات الإسناد المركبة داخل Visual Studio و VS Codeويمكنه إكمال عملية حسابية من خلال تعليق. Revراجع كل اقتراح لأنواع البيانات الصحيحة وترتيب الأسبقية المقصود.

تعتمد مسارات ML.NET على متغيرات C# لتخزين الميزات والتصنيفات، وعلى عوامل التشغيل لتطبيعها أو دمجها قبل التدريب. تتوافق القيم العددية والمنطقية بسلاسة مع مدخلات النموذج، مما يحافظ على سير عمل التعلم الآلي منظمًا وقابلًا للتنبؤ.

تلخيص هذه التدوينة بـ: