0Pricing
C# Academy · درس

التكرار على السلاسل النصية

السلاسل النصية بوصفها متتاليات من char

التكرار على السلاسل النصية درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.

السلاسل النصية عبارة عن تسلسلات

السلسلة النصية string هي تسلسل مرتب من قيم char.

هذا يعني أنه يمكنكم التكرار عبر سلسلة نصية وفحص محرف واحد في كل مرة. ويُستخدم التكرار لفحص الأحرف في النص أو عدّها أو تحويلها.

string text = "Hello";
// 'H', 'e', 'l', 'l', 'o'

خاصية Length

تحتوي كل سلسلة نصية string على خاصية Length التي تخبركم بعدد الأحرف التي تحتويها.

ستستخدمون Length للتحكم في الحلقات ومعرفة آخر فهرس صالح، وهو دائماً Length - 1.

class Program
{
    static void Main()
    {
        string text = "Hello";
        System.Console.WriteLine(text.Length);
    }
}

التكرار باستخدام foreach

إن أبسط طريقة لزيارة كل محرف هي استخدام حلقة foreach.

تمنحكم الحلقة قيمة char واحدة في كل تكرار من دون الحاجة إلى فهرس. وهذا هو الخيار الأنسب عندما لا تحتاجون إلى معرفة الموضع.

class Program
{
    static void Main()
    {
        string text = "Hi!";
        foreach (char c in text)
            System.Console.WriteLine(c);
    }
}

التكرار باستخدام for والفهرس

تمنحكم حلقة for الفهرس، وهو ما تحتاجون إليه عندما يكون الموضع مهماً.

شغّلوا الفهرس من 0 حتى Length - 1، واقرؤوا كل محرف باستخدام text[i].

class Program
{
    static void Main()
    {
        string text = "Hi!";
        for (int i = 0; i < text.Length; i++)
            System.Console.WriteLine(text[i]);
    }
}

الفهرسة تبدأ من الصفر

تُرقّم الأحرف بدءاً من 0، لذلك يكون المحرف الأول عند الفهرس 0.

في "Code"، تكون قيمة text[0] هي 'C'، وقيمة text[3] هي 'e'. تؤدي قراءة فهرس أكبر من اللازم إلى ظهور خطأ.

string text = "Code";
char first = text[0]; // 'C'
char last = text[3];  // 'e'

عدّ أحرف محددة

يتيح لكم التكرار عدّ الأحرف التي تطابق شرطاً معيناً.

يعدّ هذا البرنامج عدد حروف العلة في كلمة من خلال فحص كل محرف مقابل مجموعة صغيرة.

class Program
{
    static void Main()
    {
        string text = "banana";
        int count = 0;
        foreach (char c in text)
            if (c == 'a') count++;
        System.Console.WriteLine(count);
    }
}

الدمج مع أساليب المساعدة في char

يمكنكم داخل الحلقة استدعاء أساليب المساعدة في char التي تعلّمتموها سابقاً.

على سبيل المثال، يمكنكم عدّ الأرقام فقط في سلسلة نصية من خلال اختبار كل محرف باستخدام char.IsDigit.

class Program
{
    static void Main()
    {
        string text = "a1b2c3";
        int digits = 0;
        foreach (char c in text)
            if (char.IsDigit(c)) digits++;
        System.Console.WriteLine(digits);
    }
}

إنشاء نتيجة محوّلة

يمكنكم التكرار وجمع نتيجة جديدة تدريجياً.

تقرأ هذه الحلقة كل محرف، وتحوله إلى أحرف كبيرة باستخدام char.ToUpper، ثم تطبعه. ولا تتغير السلسلة النصية الأصلية لأن السلاسل النصية غير قابلة للتغيير.

class Program
{
    static void Main()
    {
        string text = "loud";
        foreach (char c in text)
            System.Console.Write(char.ToUpper(c));
    }
}

السلاسل النصية غير قابلة للتغيير

لا يمكنكم تغيير محرف في موضعه باستخدام text[0] = 'X'؛ فهذا يؤدي إلى خطأ في الترجمة.

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

string text = "cat";
// text[0] = 'b'; // not allowed

العكس باستخدام التكرار

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

ابدؤوا الفهرس عند Length - 1 وأنقصوه حتى يصل إلى 0.

class Program
{
    static void Main()
    {
        string text = "abc";
        for (int i = text.Length - 1; i >= 0; i--)
            System.Console.Write(text[i]);
    }
}

foreach مقابل for

استخدموا foreach عندما تحتاجون إلى كل محرف فقط، وليس إلى موضعه.

استخدموا حلقة for عندما تحتاجون إلى الفهرس، أو تريدون تخطي أحرف، أو تكرار الأحرف بترتيب مخصص مثل الترتيب العكسي. كلتاهما تزوران الأحرف نفسها.

تحقق سريع

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

مراجعة

السلسلة النصية string هي تسلسل من الأحرف يمكنكم التكرار عبره.

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

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

هل درس «التكرار على السلاسل النصية» مجاني؟

نعم — نص درس «التكرار على السلاسل النصية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «التكرار على السلاسل النصية»؟

السلاسل النصية بوصفها متتاليات من char تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التكرار على السلاسل النصية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نوع char
  2. الأساليب المساعدة لـ Char
  3. التكرار على السلاسل النصية
  4. إنشاء السلاسل النصية
← العودة إلى C# Academy