تمرين - اكتشاف ترك المساحة والمحاذاة
- 12 دقائق
string.Format() يتم استخدام الأسلوب لتنفيذ تنسيق مركب كما في المثال:
string first = "Hello";
string second = "World";
string result = string.Format("{0} {1}!", first, second);
Console.WriteLine(result);
قد يبدو غريبا بعض الشيء أن الكلمة الأساسية التي تمثل نوع بيانات لها أساليب يمكنك استدعاها بنفس الطريقة التي تستدعي بها الأساليب على Console الفئة. الحقيقة هي أن هناك العديد من الطرق المماثلة string على نوع البيانات وأي سلسلة حرفية أو متغير من سلسلة النوع.
فيما يلي قائمة مختصرة بفئات هذه الأساليب المضمنة حتى تتمكن من الحصول على فكرة عما هو ممكن.
- الأساليب التي تضيف مسافات فارغة لأغراض التنسيق (
PadLeft()،PadRight()) - الأساليب التي تقارن بين سلسلتين أو تسهل المقارنة (
Trim()،TrimStart()،TrimEnd()،GetHashcode()، الخاصيةLength) - الأساليب التي تساعدك على تحديد ما يوجد داخل سلسلة، أو حتى استرداد جزء فقط من السلسلة (
Contains()، ،StartsWith()،EndsWith())Substring() - الأساليب التي تغير محتوى السلسلة عن طريق استبدال الأجزاء (
Replace()،Insert()، ،Remove()أو إدراجها، أو إزالتها) - الأساليب التي تحول سلسلة إلى صفيف من السلاسل أو الأحرف (
Split()،ToCharArray())
تنسيق السلاسل عن طريق إضافة مسافة بيضاء قبل أو بعد
PadLeft() يضيف الأسلوب مسافات فارغة إلى الجانب الأيسر من السلسلة بحيث يساوي العدد الإجمالي للأحرف الوسيطة التي ترسلها. في هذه الحالة، تريد أن يكون الطول الإجمالي للسلسلة 12 حرفا.
احذف عامل تشغيل
//تعليق السطر أو استخدمه للتعليق على جميع التعليمات البرمجية من التدريبات السابقة.تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string input = "Pad this"; Console.WriteLine(input.PadLeft(12));في قائمة ملف Visual Studio Code، حدد Save. احفظ ملف Program.cs قبل إنشاء التعليمات البرمجية أو تشغيلها.
في لوحة EXPLORER، لفتح Terminal في موقع مجلد TestProject، انقر بزر الماوس الأيمن فوق TestProject، ثم حدد Open in Integrated Terminal. يجب فتح لوحة Terminal، ويجب أن تتضمن موجه أوامر يظهر أن Terminal مفتوحة لموقع مجلد TestProject.
في موجه الأوامر Terminal، لتشغيل التعليمات البرمجية، اكتب dotnet run ثم اضغط على Enter.
إشعار
إذا رأيت رسالة تقول "تعذر العثور على مشروع لتشغيله"، فتأكد من أن موجه الأوامر Terminal يعرض موقع مجلد TestProject المتوقع. على سبيل المثال:
C:\Users\someuser\Desktop\csharpprojects\TestProject>عند تشغيل التعليمات البرمجية، تلاحظ أربعة أحرف مسبوقة إلى يسار السلسلة، وبذلك يصل الطول إلى 12 حرفا.
Pad thisلإضافة مسافة أو أحرف إلى الجانب الأيسر من السلسلة، استخدم
PadRight()الأسلوب بدلا من ذلك. 1. تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:Console.WriteLine(input.PadRight(12));احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك. لن تلاحظ أي أحرف تمت إضافتها إلى نهاية السلسلة، ولكنها موجودة.
ما هي طريقة التحميل الزائد؟
في C#، الأسلوب الزائد هو إصدار آخر من أسلوب مع وسيطات مختلفة أو إضافية تعدل وظيفة الأسلوب قليلا، كما هو الحال مع الإصدار الزائد من PadLeft() الأسلوب.
يمكنك أيضا استدعاء إصدار ثان محمل تحميلا زائدا من الأسلوب وتمرير أي حرف تريد استخدامه بدلا من مسافة. في هذه الحالة، يمكنك ملء المساحة الإضافية بحرف الشرطة.
احذف عامل تشغيل
//تعليق السطر أو استخدمه للتعليق على جميع التعليمات البرمجية من الخطوة السابقة.تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
Console.WriteLine(input.PadLeft(12, '-')); Console.WriteLine(input.PadRight(12, '-'));احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك. يجب أن تشاهد أربع شرطات بادئة يسار السلسلة التي يبلغ طولها 12 حرفا.
----Pad this Pad this----
الآن، طبق هذه المعرفة الجديدة على سيناريو آخر في العالم الحقيقي.
العمل مع سلاسل مبطنة
لنفترض أنك تعمل في شركة معالجة الدفع التي لا تزال تدعم أنظمة الكمبيوتر الرئيسي القديمة. غالبا ما تتطلب هذه الأنظمة إدخال البيانات في أعمدة معينة. على سبيل المثال، قم بتخزين معرف الدفع في الأعمدة من 1 إلى 6، واسم المستفيد في الأعمدة من 7 إلى 30، ومبلغ الدفع في الأعمدة من 31 إلى 40. والأهم من ذلك أيضا، أن قيمة الدفع تتم محاذاتها إلى اليمين.
يطلب منك إنشاء تطبيق يقوم بتحويل البيانات في نظام إدارة قاعدة البيانات الارتباطية إلى تنسيق الملف القديم. للتأكد من أن التكامل يعمل بشكل صحيح، فإن الخطوة الأولى هي تأكيد تنسيق الملف عن طريق إعطاء القائمين على صيانة النظام القديم عينة من الإخراج. لاحقا، يمكنك البناء على هذا العمل لإرسال مئات أو آلاف المدفوعات التي ستتم معالجتها عبر ملف نصي ASCII.
إضافة معرف الدفع إلى الإخراج
للبدء، اطبع معرف الدفع في الأعمدة الستة الأولى. يمكنك اختيار بعض بيانات الدفع العشوائية التي يجب أن تكون كافية للأغراض.
احذف عامل تشغيل
//تعليق السطر أو استخدمه للتعليق على جميع التعليمات البرمجية من الخطوة السابقة.تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string paymentId = "769C"; var formattedLine = paymentId.PadRight(6); Console.WriteLine(formattedLine);formattedLineأعد استخدام المتغير لإنشاء سلسلة الإخراج.احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك. ينبغي أن تشاهد المخرج التالي:
769C
هناك ممسافاتان فارغتان إلى اليمين غير مرئيتين. ستؤكد وجودها في الخطوة التالية.
إضافة اسم المستفيد إلى الإخراج
بعد ذلك، يمكنك إضافة اسم Payee وهمية، ترك المساحة بشكل مناسب.
تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); Console.WriteLine(formattedLine);+=يقوم عامل التشغيل بإجراء سلسلة سلسلة، مع أخذ القيمة السابقة للمتغيرformattedLineوإضافة القيمة الجديدة إليه. إنه مكافئ مختصر لمثال التعليمات البرمجية التالي:formattedLine = formattedLine + payeeName.PadRight(24);احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك. ينبغي أن تشاهد المخرج التالي:
769C Mr. Stephen Ortega
مرة أخرى، هناك عدد غير قليل من المساحات الفارغة بعد اسم Payee. أيضا، هناك ممسافات فارغة بعد معرف الدفع من الخطوة 1.
إضافة مبلغ الدفع إلى الإخراج
بعد ذلك، أضف مبلغ دفع وهميا وتأكد من استخدامه PadLeft() لمحاذاة الإخراج إلى اليمين.
تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; string paymentAmount = "$5,000.00"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); formattedLine += paymentAmount.PadLeft(10); Console.WriteLine(formattedLine);احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك. ينبغي أن تشاهد المخرج التالي:
769C Mr. Stephen Ortega $5,000.00
هذا الإخراج قريب جدا مما كنت تفهمه من القائمين على صيانة النظام القديمة كانوا يبحثون عنه.
إضافة سطر من الأرقام فوق الإخراج لتأكيد النتيجة بسهولة أكبر
نظرا لأنه من الصعب حساب الأعمدة الدقيقة حيث يظهر كل عنصر بيانات، يمكنك إضافة سطر أعلى الإخراج مباشرة يساعدك على حساب الأعمدة.
Console.WriteLine("1234567890123456789012345678901234567890");
تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; string paymentAmount = "$5,000.00"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); formattedLine += paymentAmount.PadLeft(10); Console.WriteLine("1234567890123456789012345678901234567890"); Console.WriteLine(formattedLine);احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك. يجب أن تشاهد الإخراج التالي، الذي يمكنك إرساله إلى القائمين على صيانة النظام القديم لتأكيد عمل التكامل الجديد بشكل صحيح:
1234567890123456789012345678901234567890 769C Mr. Stephen Ortega $5,000.00
نجاح!
خلاصة
هناك بعض النصائح المهمة من هذه الوحدة.
-
stringيقوم كل من نوع البيانات والسلاسل الحرفية ومتغيرات سلسلة النوع بتنفيذ العديد من أساليب المساعد لتنسيق العمليات الأخرى وتعديلها وتنفيذها على السلاسل. -
PadLeft()تضيف الأساليب وPadRight()مسافة بيضاء (أو اختياريا، حرف آخر) إلى الطول الإجمالي لسلسلة. - استخدم
PadLeft()لمحاذاة سلسلة إلى اليمين. - بعض الأساليب محملة بشكل زائد، ما يعني أن لديها إصدارات متعددة من الأسلوب مع وسيطات مختلفة تؤثر على وظائفها.
- يقوم
+=عامل التشغيل بسلسلة جديدة على اليمين إلى السلسلة الموجودة على اليسار.
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟