Menu
Coddy logo textTech

עיצוב מחרוזות

חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 63 מתוך 69.

ב-C#, String.Format() היא מתודה רבת עוצמה המשמשת ליצירת מחרוזות מעוצבות. היא מאפשרת לך לשלב טקסט עם משתנים באופן קריא וניתן להתאמה אישית. המתודה משתמשת במפרטי עיצוב כדי להגדיר כיצד יש להכניס משתנים למחרוזת.

בואו נלמד איך להשתמש בעיצוב מחרוזות ב-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 עבור מספר עשרוני בנקודה קבועה) ואחריה מספר אופציונלי לציון הדיוק:

// עצב מספר עם 2 ספרות אחרי הנקודה העשרונית
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

אתגר

קל

צרו מתודה בשם CreateFormattedString שמקבלת את הארגומנטים הבאים:

  1. מחרוזת productName.
  2. מספר שלם quantity.
  3. מספר ממשי מסוג double‏ unitPrice.

המתודה צריכה להחזיר מחרוזת מעוצבת שמשלבת את הערכים האלה בפורמט הבא:

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

עצבו את unitPrice עם חמש ספרות אחרי הנקודה העשרונית, את quantity עם ספרה אחת אחרי הנקודה העשרונית (המירו אותו ל-double), והפכו את התו הראשון של productName לאות גדולה.

לדוגמה, אם productName הוא "laptop",‏ quantity הוא 3, ו-unitPrice הוא 1299.9999, המתודה צריכה להחזיר:

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

כדי לחלץ את התו הראשון ולהשאיר אותו מטיפוס String ולא מטיפוס char, השתמשו ב-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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C# אונליין