Exerciții - Descoperiți completare și aliniere
- 12 minute
Metoda string.Format() este utilizată pentru a efectua formatări compuse, cum ar fi în exemplu:
string first = "Hello";
string second = "World";
string result = string.Format("{0} {1}!", first, second);
Console.WriteLine(result);
Poate părea un pic ciudat că un cuvânt cheie care reprezintă un tip de date are metode pe care le puteți apela în același mod în care apelați metodele de Console la clasă. Faptul este că există multe metode similare în string tipul de date și orice șir literal sau variabilă de tip.
Iată o scurtă listă de categorii ale acestor metode predefinite, astfel încât să vă puteți da o idee despre ce este posibil.
- Metode care adaugă spații necompletate în scopuri de formatare (
PadLeft(),PadRight()) - Metode care compară două șiruri sau facilitează compararea (
Trim(),TrimStart(),TrimEnd(),GetHashcode(), proprietateaLength) - Metode care vă ajută să determinați ce se află în interiorul unui șir sau chiar să regăsiți doar o parte a șirului (
Contains(),StartsWith(), ,EndsWith()Substring()) - Metode care modifică conținutul șirului prin înlocuirea, inserarea sau eliminarea părților (
Replace(),Insert(),Remove()) - Metode care transformă un șir într-o matrice de șiruri sau caractere (
Split(),ToCharArray())
Formatare șiruri adăugând spații albe înainte sau după
Metoda PadLeft() adaugă spații necompletate în partea stângă a șirului, astfel încât numărul total de caractere să fie egal cu argumentul pe care îl trimiteți. În acest caz, doriți ca lungimea totală a șirului să fie de 12 caractere.
Ștergeți sau utilizați operatorul de comentarii de linie
//pentru a comenta întregul cod din exercițiile anterioare.Actualizați codul în Visual Studio Code Editor după cum urmează:
string input = "Pad this"; Console.WriteLine(input.PadLeft(12));În meniul Fișier Visual Studio Code, selectați Salvare. Salvați fișierul Program.cs înainte de construirea sau rularea codului.
În panoul EXPLORER, pentru a deschide un Terminal la locația folderului TestProject, faceți clic dreapta pe TestProject, apoi selectați Deschidere în terminal integrat. Un panou terminal ar trebui să se deschidă și ar trebui să includă o linie de comandă care arată că Terminal este deschis la locația folderului TestProject.
În linia de comandă Terminal, pentru a rula codul, tastați run dotnet apoi apăsați pe Enter.
Notă
Dacă vedeți un mesaj care spune "Nu s-a găsit un proiect de rulat", asigurați-vă că linia de comandă Terminal afișează locația așteptată a folderului TestProject. De exemplu:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Atunci când rulați codul, observați patru caractere prefixate la stânga șirului aduc lungimea la 12 caractere lungime.
Pad thisPentru a adăuga spațiu sau caractere în partea dreaptă a șirului, utilizați
PadRight()metoda în schimb. 1. Actualizați codul în Visual Studio Code Editor după cum urmează:Console.WriteLine(input.PadRight(12));Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul. Nu veți observa niciun caracter adăugat la sfârșitul șirului, dar acestea sunt acolo.
Ce este o metodă supraîncărcată?
În C#, o metodă supraîncărcată este o altă versiune a unei metode cu argumente diferite sau suplimentare care modifică ușor funcționalitatea metodei, așa cum este cazul cu versiunea supraîncărcată a metodei PadLeft() .
De asemenea, puteți să apelați o a doua versiune supraîncărcată a metodei și să transmiteți orice caracter doriți să utilizați în locul unui spațiu. În acest caz, umpleți spațiul suplimentar cu caracterul linie.
Ștergeți sau utilizați operatorul
//de comentarii de linie pentru a comenta întregul cod de la pasul anterior.Actualizați codul în Visual Studio Code Editor după cum urmează:
Console.WriteLine(input.PadLeft(12, '-')); Console.WriteLine(input.PadRight(12, '-'));Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul. Ar trebui să vedeți patru linii care prefixează partea stângă a șirului de 12 caractere.
----Pad this Pad this----
Acum, aplicați aceste cunoștințe noi la un alt scenariu din lumea reală.
Lucrul cu șiruri căptușite
Să presupunem că lucrați pentru o firmă de procesare a plăților care acceptă în continuare sistemele de structură principală moștenite. Adesea, aceste sisteme necesită ca datele să fie introduse în anumite coloane. De exemplu, stocați ID-ul de plată în coloanele 1-6, numele destinatarului de plată în coloanele 7-30 și Suma de plată în coloanele 31-40. De asemenea, important, suma de plată este aliniată la dreapta.
Vi se solicită să construiți o aplicație care va efectua conversia datelor din sistemul de gestionare a bazelor de date relaționale la formatul de fișier moștenit. Pentru a vă asigura că integrarea funcționează corect, primul pas este să confirmați formatul de fișier, oferind întreținerilor sistemului moștenit un eșantion de ieșire. Mai târziu, construiți această lucrare pentru a trimite sute sau mii de plăți pentru a fi procesate printr-un fișier text ASCII.
Adăugați ID-ul de plată la ieșire
Pentru a începe, imprimați ID-ul de plată în primele șase coloane. Alegeți unele date de plată aleatoare care ar trebui să fie adecvate pentru scopuri.
Ștergeți sau utilizați operatorul
//de comentarii de linie pentru a comenta întregul cod de la pasul anterior.Actualizați codul în Visual Studio Code Editor după cum urmează:
string paymentId = "769C"; var formattedLine = paymentId.PadRight(6); Console.WriteLine(formattedLine);Reutilizați variabila
formattedLinepentru a construi șirul de ieșire.Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul. Ar trebui să vedeți următoarea ieșire:
769C
Există două spații necompletate la dreapta care nu sunt vizibile. Veți confirma că acestea există în pasul următor.
Adăugați numele destinatarului la ieșire
În continuare, adăugați un Nume Payee fictiv, spațiiându-l corespunzător.
Actualizați codul în Visual Studio Code Editor după cum urmează:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); Console.WriteLine(formattedLine);Operatorul
+=efectuează o concatenare de șir, luând valoarea anterioară a variabileiformattedLineși adăugând noua valoare la aceasta. Este un echivalent scurtat cu următorul exemplu de cod:formattedLine = formattedLine + payeeName.PadRight(24);Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul. Ar trebui să vedeți următoarea ieșire:
769C Mr. Stephen Ortega
Din nou, există câteva spații necompletate după Numele lui Payee. De asemenea, există două spații necompletate după ID-ul de plată de la Pasul 1.
Adăugați suma de plată la ieșire
În continuare, adăugați o sumă fictivă de plată și asigurați-vă că utilizați PadLeft() pentru a alinia la dreapta rezultatul.
Actualizați codul în Visual Studio Code Editor după cum urmează:
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);Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul. Ar trebui să vedeți următoarea ieșire:
769C Mr. Stephen Ortega $5,000.00
Această ieșire este destul de aproape de ceea ce ați înțeles întreținetorii de sistem moșteniți căutați.
Adăugați o linie de numere deasupra rezultatului pentru a confirma mai ușor rezultatul
Deoarece este dificil să contorizați coloanele exacte în care apare fiecare element de date, adăugați o linie direct deasupra rezultatului care vă ajută să contorizați coloanele.
Console.WriteLine("1234567890123456789012345678901234567890");
Actualizați codul în Visual Studio Code Editor după cum urmează:
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);Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul. Ar trebui să vedeți următoarea ieșire, pe care o puteți trimite întreținerilor sistemului moștenit pentru a confirma că noua integrare funcționează corect:
1234567890123456789012345678901234567890 769C Mr. Stephen Ortega $5,000.00
Succes!
Recapitula
Există câteva căile importante decolare de la această unitate.
- Tipul
stringde date, șirurile literale și variabilele de tip fiecare implementează mai multe metode de ajutor pentru formatarea, modificarea și efectuarea altor operațiuni cu șiruri. - Metodele
PadLeft()șiPadRight()adaugă spațiu alb (sau, opțional, alt caracter) la lungimea totală a unui șir. - Se utilizează
PadLeft()pentru a alinia la dreapta un șir. - Unele metode sunt supraîncărcate, ceea ce înseamnă că au mai multe versiuni ale metodei cu diferite argumente care le afectează funcționalitatea.
- Operatorul
+=concatenează un șir nou în partea dreaptă a șirului existent din stânga.
Verificați-vă cunoștințele
Feedback
Această pagină a fost utilă?
Nu
Aveți nevoie de ajutor cu acest subiect?
Doriți să încercați să utilizați Întrebați Microsoft Learn pentru a clarifica sau primi îndrumări privind acest subiect?