السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة
افهم عدم قابلية السلاسل للتغيير، واستخدم الاستيفاء، والسلاسل ذات محارف الهروب والسلاسل الحرفية، وأنشئ النصوص بكفاءة باستخدام StringBuilder، وقارن بأمان، وراجع أساسيات char وUnicode.
السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 3 دروس في المجموع.
نظرة عامة على النص
الهدف: استخدم السلاسل النصية بأمان وكفاءة.
- عدم قابلية التغيير
- الاستيفاء ومحارف الهروب
- السلاسل النصية الحرفية
- StringBuilder
- المقارنة وملاحظات الثقافة
عدم قابلية التغيير
غير قابلة للتغيير: تُعيد أساليب مثل ToUpper أو Replace سلاسل نصية جديدة؛ وتبقى السلاسل الأصلية كما هي.
using System;
public class Program
{
public static void Main(string[] args)
{
string s = "hello";
string upper = s.ToUpper(); // new string
Console.WriteLine("s = " + s); // hello
Console.WriteLine("upper = " + upper);// HELLO
string replaced = s.Replace("h", "y"); // new string
Console.WriteLine("replaced = " + replaced);
}
}
الاستيفاء ومحارف الهروب
يستخدم الاستيفاء $"...". محارف الهروب الشائعة: \\n سطر جديد، \\" اقتباس، \\\\ شرطة مائلة عكسية.
using System;
public class Program
{
public static void Main(string[] args)
{
string name = "Ada";
int score = 95;
// C# 6 string interpolation and escapes
string msg = $"Hi {name}, score = {score}";
string quoted = "She said \"hi\"";
string line = "first line\nsecond line";
Console.WriteLine(msg);
Console.WriteLine(quoted);
Console.WriteLine(line);
}
}
السلاسل النصية الحرفية
تبدأ السلاسل النصية الحرفية بالرمز @: وهي مثالية لمسارات Windows والنصوص متعددة الأسطر.
using System;
public class Program
{
public static void Main(string[] args)
{
// Verbatim string keeps backslashes and newlines as typed
string path = @"C:\Projects\Demo\readme.txt";
string multi = @"Line1
Line2";
Console.WriteLine(path);
Console.WriteLine(multi);
}
}
StringBuilder
عند إجراء عمليات دمج كثيرة، استخدم StringBuilder لتقليل عمليات التخصيص وتحسين الأداء.
using System;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
var sb = new StringBuilder();
for (int i = 1; i <= 3; i = i + 1)
{
sb.Append("Item ").Append(i).Append(", ");
}
string result = sb.ToString();
Console.WriteLine(result);
}
}
المقارنة والثقافة؛ char
استخدم StringComparison للتحكم في المقارنات (مثل OrdinalIgnoreCase). يمثّل char وحدة شفرة UTF-16؛ وتحتاج بعض الرموز التعبيرية إلى أزواج بديلة (وهذا خارج نطاق هذه المقدمة).
using System;
using System.Globalization;
public class Program
{
public static void Main(string[] args)
{
string a = "file";
string b = "FILE";
// Case-insensitive, culture-invariant comparison
bool same = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
Console.WriteLine("Same (ord ignore case) = " + same);
// Culture example: ToUpper with current culture
string iDot = "i";
string upper = iDot.ToUpper(CultureInfo.CurrentCulture);
Console.WriteLine("Upper(i) in current culture = " + upper);
}
}
معنى عدم قابلية التغيير
خلاصة
الخلاصة: السلاسل النصية غير قابلة للتغيير؛ استخدم الاستيفاء ومحارف الهروب؛ وفضّل @ للمسارات؛ واستخدم StringBuilder عند إجراء عمليات إلحاق كثيرة؛ وقارن باستخدام StringComparison؛ وتذكّر أن char وحدة UTF-16.
الأسئلة الشائعة
هل درس «السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة» مجاني؟
نعم — نص درس «السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 3 دروس في المجموع.
ماذا ستتعلم في «السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة»؟
افهم عدم قابلية السلاسل للتغيير، واستخدم الاستيفاء، والسلاسل ذات محارف الهروب والسلاسل الحرفية، وأنشئ النصوص بكفاءة باستخدام StringBuilder، وقارن بأمان، وراجع أساسيات char وUnicode. تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- السلاسل والنصوص: عدم القابلية للتغيير والاستيفاء والحرفية وStringBuilder والمقارنة
- StringBuilder والمقارنة وملاحظات الثقافة
- char وأساسيات Unicode والتحليل والتنسيق البسيطان