Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تنسيق الـ String

جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 63 من 69.

في لغة C#، تُعد String.Format() طريقة قوية تُستخدم لإنشاء سلاسل نصية منسقة. فهي تتيح لك دمج النصوص مع المتغيرات بطريقة قابلة للقراءة والتخصيص. تستخدم هذه الطريقة محددات التنسيق (format specifiers) لتحديد كيفية إدراج المتغيرات داخل السلسلة النصية.

دعونا نتعلم كيفية استخدام تنسيق السلاسل النصية في #C:

الصيغة الأساسية لـ String.Format() هي:

string formattedString = String.Format("format_string", arg0, arg1, ...);

حيث:

  • format_string: سلسلة نصية تحتوي على نص ومحددات تنسيق.
  • arg0, arg1, ...: المتغيرات التي سيتم إدراجها في format_string.

دعونا نلقي نظرة على محددات التنسيق. تشير الأرقام الموجودة داخل الأقواس المتعرجة إلى موضع الوسائط:

  • {0}: يشير إلى الوسيط الأول (arg0)
  • {1}: يشير إلى الوسيط الثاني (arg1)
  • {2}: يشير إلى الوسيط الثالث (arg2)
  • وهكذا...

دعونا نجرب مثالاً بسيطاً بأنواع مختلفة من الوسائط:

string name = "Alice";
int age = 30;
double price = 19.99;

string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted);

بعد تنفيذ هذا الكود، سترى على الشاشة: Name: Alice, Age: 30, Price: 19.99

يمكنك أيضاً التحكم في التنسيق بشكل أكبر باستخدام محددات التنسيق بعد النقطتين الرأسيتين. يتكون محدد التنسيق من حرف (مثل F للكسر العشري ذو النقطة الثابتة) يليه رقم اختياري للدقة:

// تنسيق رقم بمنزلتين عشريتين
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);

بعد تنفيذ هذا الكود، سترى على الشاشة: The value is 123.46

يمكنك استخدام F1، و F2، و F3، إلخ لتحديد أعداد مختلفة من المنازل العشرية

challenge icon

التحدي

سهل

أنشئ طريقة (method) تسمى CreateFormattedString تأخذ الوسائط التالية:

  1. سلسلة نصية productName.
  2. عدد صحيح quantity.
  3. عدد عشري unitPrice.

يجب أن تعيد الطريقة سلسلة نصية منسقة تجمع هذه القيم بالتنسيق التالي:

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

قم بتنسيق unitPrice إلى خمس خانات عشرية، و quantity بخانة عشرية واحدة (قم بتحويله إلى double)، ويجب أن يكون الحرف الأول من productName حرفاً كبيراً (uppercase).

على سبيل المثال، إذا كان productName هو "laptop"، و quantity هو 3، و unitPrice هو 1299.9999، يجب أن تعيد الطريقة:

Product: Laptop, Quantity: 3.0, Unit Price: 1299.99990

لاستخراج الحرف الأول مع الحفاظ عليه كنوع String بدلاً من نوع char، استخدم: str.Substring(0,1)

ورقة مرجعية

تنشئ الطريقة String.Format() سلاسل نصية منسقة من خلال دمج النص مع المتغيرات باستخدام محددات التنسيق.

الصيغة الأساسية:

string formattedString = String.Format("format_string", arg0, arg1, ...);

تستخدم محددات التنسيق الأقواس المتعرجة مع أرقام المواضع:

  • {0}: الوسيط الأول
  • {1}: الوسيط الثاني
  • {2}: الوسيط الثالث

مثال مع أنواع بيانات متعددة:

string name = "Alice";
int age = 30;
double price = 19.99;

string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted); // Output: Name: Alice, Age: 30, Price: 19.99

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

double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted); // Output: The value is 123.46

يمكنك استخدام F1، و F2، و F3، وما إلى ذلك لتحديد أعداد مختلفة من المنازل العشرية

لاستخراج الحرف الأول كسلسلة نصية: str.Substring(0,1)

جرّب بنفسك

using System;

public class Program {
    public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
        // اكتب كودك هنا
    }

    public static void Main(string[] args) {
        string product = Console.ReadLine();
        int qty = int.Parse(Console.ReadLine());
        double price = double.Parse(Console.ReadLine());
        string formattedString = CreateFormattedString(product, qty, price);
        Console.WriteLine(formattedString);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals