English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي C#

دليل متقدم C#

C# موجه الأنظمة (OOP)

دائرة الرسم for C#

في هذا المكان، ستتعلم كيفية استخدام دورة for، بنية دورة for، دورات for المدمجة التي تنفذ الكودات أو الكتل عدة مرات، وكيفية الخروج من دورة for.

كلمة المفتاح for تعبر عن الدورات في C#. تنفذ دورة for تكرارًا وتكرارًا تنفيذ الكودات أو الكتل، حتى يعود الشرط المحدد إلى خطأ.

اللغة:

لـ(المعادلة البدائية; شرط; مكرر)
{    
   //الكود الداخلي 
}

تتكون دورة for من ثلاثة أجزاء إختيارية مفصولة بالفواصل، هي:

المبدا: يستخدم لتحديد متغير، سيكون متغيرًا محليًا لدورة for وليس يمكن الوصول إليه خارج الدورة. يمكن أن تكون أيضًا جملة واحدة أو أكثر من التعليمات المختلفة، مثل الاستدعاءات الداخلية أو تعبيرات التكبير أو التقليل، مثل ++i أو i++، وأيضًا تعبيرات الانتظار await.

الشروطالشروط هي تعبير بولياني يرجع إلى true أو false. إذا كان حساب تعبير الشروط يعود إلى true، سيقوم بإعادة تنفيذ الدورة؛ وإلا سيخرج من الدورة.

المحولال迭代ر يحدد الزيادة أو الانخفاض للمتغير الدوري.

تقوم الدورة for أدناه بإجراء كود 10 مرات.

for(int i = 0; i < 10; i++)
{
    Console.WriteLine("قيمة i: {0}", i);
}

حاولوا عرض النتيجة:

قيمة i: 0
قيمة i: 1
قيمة i: 2
قيمة i: 3
قيمة i: 4
قيمة i: 5
قيمة i: 6
قيمة i: 7
قيمة i: 8
قيمة i: 9

في المثال السابق، int i = 0 هو تعبير المبدا، نحن نحدد متغير int المتغير i ويتم تثبيت القيمة 0. الجزء الثاني هو تعبير الشروط i < 10، إذا كان يعود القيمة صحيحة إذا كانت قيمة تعبير الشروط صحيحة، سيقوم بإجراء كود معين. بعد إجراء الكود، سيقوم بالانتقال إلى الجزء الثالث المحول. i+ + هو جملة تزيد من قيمة المتغير i زيادة القيمة 1. الآن، سيقوم بفحصrażة الشروط مرة أخرى، وسيكرر نفس العملية حتى يعود تعبير الشروط إلى false. الشكل التالي يوضح خطوات تنفيذ دورة for.

الشكل التالي يوضح خطوات تنفيذ دورة for.

خطوات تنفيذ دورة for

إذا كان الكود يحتوي على جملة واحدة فقط، لا تحتاج إلى طويها في الأقواس الكبرى { }، مثلما هو موضح أدناه.

 النموذج: دورة for

for(int i = 0; i < 10; i++){
  Console.WriteLine("قيمة i: {0}", i);
}

جزء المبدا، الشروط والمحولات غير إلزامية. يمكنك تعريف المتغيرات قبل دورة for، وكذلك تعريف الشروط والمحولات داخل الكود المكتوب، مثلما هو موضح أدناه.

 النموذج: دورة for في C#

int i = 0;
for(;;)
{
    if (i < 10)
    {
      Console.WriteLine("قيمة i: {0}", i);
      i++;
    }
       break;
    }
}
الإخراج:
قيمة i: 0
قيمة i: 1
قيمة i: 2
قيمة i: 3
قيمة i: 4
قيمة i: 5
قيمة i: 6
قيمة i: 7
قيمة i: 8
قيمة i: 9

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

for ( ; ; )
{
    Console.Write(1);
}
الإخراج:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

يمكن أن يكون متغير التحكم في الدوران أي نوع من أنواع البيانات الرقمية، مثل double،decimal وما إلى ذلك.

for (double d = 1.01D; d < 1.10; d+= 0.01D)
{
    Console.WriteLine("قيمة i: {0}", d);
}
الإخراج:
قيمة i: 1.01
قيمة i: 1.02
قيمة i: 1.03
قيمة i: 1.04
قيمة i: 1.05
قيمة i: 1.06
قيمة i: 1.07
قيمة i: 1.08
قيمة i: 1.09

يمكن أن يزيد أو يقل جزء الخطوة في دوران من قيمة المتغير.

for (int i = 10; i > 0; i--)
{
    Console.WriteLine("قيمة i: {0}", i);
}
الإخراج:
قيمة i: 10
قيمة i: 9
قيمة i: 8
قيمة i: 7
قيمة i: 6
قيمة i: 5
قيمة i: 4
قيمة i: 3
قيمة i: 2
قيمة i: 1

خروج من دوران for

يمكنك أيضًا استخدام كلمة المفتاح break للخروج من دوران for.

for (int i = 0; i < 10; i++)
{
    if (i == 5)
        break;
    Console.WriteLine("قيمة i: {0}", i);
}
الإخراج:
قيمة i: 0
قيمة i: 1
قيمة i: 2
قيمة i: 3
قيمة i: 4

تعبيرات متعددة

يمكن أن يحتوي الدوران أيضًا على تعبيرات متعددة مفصولة بالكومي، مثل ما يلي.

for (int i = 0, j = 0; i+j < 5; i++, j++)
{
    Console.WriteLine("قيمة i: {0}, J: {1} ", i, j);
}
الإخراج:
قيمة i: 0،J: 0 
قيمة i: 1،J: 1 
قيمة i: 2،J: 2

يمكن أن يحتوي الدوران على جمل كعناصر التعريف والتحديث.

int i = 0, j = 5;
for (Console.WriteLine($"المحول: i={i}, j={j}"); 
    i++ < j--; 
    Console.WriteLine($"المحول: i={i}, j={j}"))
    {
    }

الإخراج:

المحول: i = 0،j = 5
المحول: i = 1،j = 4  
المحول: i = 2،j = 3  
المكرر: i = 3،j = 2

دائرة الرسم الداخلية

يسمح C# بدائرة الرسم داخل دائرة الرسم أخرى.

for(int i = 0; i < 2; i++)
{
    for(int j = i; j < 4; j++)
       Console.WriteLine("قيمة i: {0}،J: {1} ", i,j);
    }
        
}
الإخراج:
قيمة i: 0،J: 0 
قيمة i: 0،J: 1  
قيمة i: 0،J: 2  
قيمة i: 0،J: 3  
قيمة i: 1،J: 1  
قيمة i: 1،J: 2  
قيمة i: 1،J: 3