Exercițiul - Descoperiți Split() și Join()
- 10 minute
Pe măsură ce continuați lucrul de dezvoltare pentru o firmă logistică, începeți să construiți o serie de aplicații mici. Aceste aplicații lucrează împreună pentru a prelua date din sistemul unui partener, a-l modifica, apoi a-l trece la un sistem intern în formatul necesar.
Pentru a efectua transformarea datelor, trebuie să acceptați datele primite ca șir, să le analizați în elemente de date mai mici, apoi să le manipulați pentru a se potrivi cu un alt format necesar. Cum puteți analiza datele șirului în elemente de date mai mici?
Metode matrice ale tipului de date String
Variabilele de tip string au multe metode predefinite care convertesc un singur șir într-o matrice de șiruri mai mici sau o matrice de caractere individuale.
Atunci când procesați date din alte sisteme informatice, uneori, acestea formatează sau codifică într-un mod care nu este util pentru scopurile dvs. În aceste cazuri, utilizați string metodele matrice ale tipului de date pentru a analiza un șir într-o matrice.
Utilizarea pentru a inversa ToCharArray()string
Ș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 value = "abc123"; char[] valueArray = value.ToCharArray();
În acest exemplu, ToCharArray() metoda este utilizată pentru a crea o matrice de char, unde fiecare element al matricei reprezintă un caracter al șirului original.
Inversați, apoi combinați matricea caracter într-un șir nou
Apoi, ordinea caracterelor din matrice este inversată, apoi Write se utilizează metoda pentru a le combina înapoi într-un singur rezultat.
Actualizați codul în Visual Studio Code Editor după cum urmează:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); string result = new string(valueArray); Console.WriteLine(result);Expresia
new string(valueArray)creează o nouă instanță goală a claseiSystem.String(care este aceeași custringtipul de date din C#) și trece în matricea de caractere ca constructor.Notă
Care este
newcuvântul cheie? Cum este corelatăSystem.Stringclasa custringtipul de date din C#? Ce este un constructor? Toate întrebările grozave care, din păcate, nu au domeniu de aplicare pentru acest modul. Vă recomandăm să continuați să învățați despre biblioteca de clasă .NET, precum și despre clasele și obiectele din C# pentru a înțelege pe deplin ce se întâmplă în culise cu această expresie de cod. Deocamdat, utilizați un motor de căutare și documentația Microsoft pentru a găsi exemple pe care le puteți utiliza în situații precum cele în care știți că doriți să efectuați o conversie, dar nu știți sigur cum să procedați utilizând C#.În meniul Fișier Visual Studio Code, selectați Salvare.
Fișierul Program.cs trebuie salvat î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>Ar trebui să vedeți următoarea ieșire:
321cba
Combinați toate caracterele într-un șir nou cu valori separate prin virgulă utilizând Join()
În unele cazuri, poate fi necesar să separați fiecare element al matricei de caractere utilizând o virgulă, care este o practică obișnuită atunci când lucrați cu date reprezentate ca text ASCII. Pentru a face acest lucru, comentați linia de cod adăugată la Pasul 2 și utilizați String metoda clasei Join() , trecând prin caracter pe care doriți să o delimitați fiecare segment (virgula) și matricea propriu-zisă.
Actualizați codul în Visual Studio Code Editor după cum urmează:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result);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:
3,2,1,c,b,a
Split() șirul de valori separate prin virgulă într-o matrice de șiruri
Pentru a finaliza codul, Split() se utilizează metoda. Această metodă este proiectată pentru variabile de tip string și creează o matrice de șiruri.
Utilizați Visual Studio Code Editor pentru a adăuga următoarele linii de cod în partea de jos a fișierului:
string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }Faceți un minut pentru a revizui codul anterior.
Virgula este furnizată
.Split()ca delimitator pentru a scinda un șir lung în șiruri mai mici. Codul utilizează apoi oforeachbuclă pentru a itera prin fiecare element din matricea nou creată de șiruri,items.Verificați dacă acum apare codul după cum urmează:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result); string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }Salvați fișierul de cod, apoi utilizați Visual Studio Code pentru a rula codul.
Atunci când rulați codul, vedeți următoarea ieșire:
3,2,1,c,b,a 3 2 1 c b aMatricea
itemscreată utilizândstring[] items = result.Split(',');este utilizată înforeachbuclă și afișează caracterele individuale din originalulstringvalueconținut în variabilă.
Recapitula
Iată câteva puncte cheie de reținut atunci când lucrați cu șiruri și matrice:
- Pentru a crea o matrice, utilizați metode precum
ToCharArray()șiSplit() - Pentru a transforma matricea înapoi într-un singur șir, utilizați metode precum
Join()sau creați un șir nou care trece într-o matrice dechar
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?