תרגיל - גלה ריפוד ויישור
- 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 קובץ, בחר שמור. שמור את Program.cs לפני שתבנייה או הפעלה של הקוד.
בלוח EXPLORER, כדי לפתוח מסוף במיקום התיקיה TestProject, לחץ באמצעות לחצן העכבר הימני על TestProjectולאחר מכן בחר פתח במסוף משולב. לוח מסוף אמור להיפתח, ועלי לכלול שורת פקודה המציגה שמסוף פתוח במיקום התיקיה TestProject שלך.
בשורת הפקודה Terminal, כדי להפעיל את הקוד, הקלד dotnet מכן הקש 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----
עכשיו, ליישם את הידע החדש הזה על תרחיש עולם אמיתי אחר.
עבודה עם מחרוזות מרופדות
נניח שאתה עובד בחברה לעיבוד תשלומים שעדיין תומכת במערכות Mainframe מדור קודם. לעתים קרובות, מערכות אלה דורשות קלט של נתונים בעמודות ספציפיות. לדוגמה, אחסן את מזהה התשלום בעמודות 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
קיימים שני רווחים ריקים משמאל שאינם גלויים. אתה תאשר שהם קיימים בשלב הבא.
הוסף את שם המקבל לפלט
לאחר מכן, עליך להוסיף שם משלם מלאכותי ולריפודו כראוי.
עדכן את הקוד שלך בעורך קוד 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
שוב, ישנם לא מעט שטחים ריקים לאחר שם המקבל. כמו כן, קיימים שני רווחים ריקים לאחר מזהה התשלום משלב 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()כדי ליישר מחרוזת לימין. - שיטות מסוימות עמוסות מדי, כלומר הן כוללות גירסאות מרובות של פעולת השירות עם ארגומנטים שונים המשפיעים על הפונקציונליות שלהן.
- האופרטור
+=משרשר מחרוזת חדשה משמאל למחרוזת הקיימת מימין.
בדוק את הידע שלך
משוב
האם עמוד זה היה מועיל?
לא
זקוק לעזרה בנושא זה?
רוצה לנסות להשתמש ב'שאל את Learn' כדי להבהיר או להדריך אותך בנושא זה?