Gyakorlat – Kitöltés és igazítás felderítése
- 12 perc
A string.Format() metódus összetett formázás végrehajtására szolgál, például a példában:
string first = "Hello";
string second = "World";
string result = string.Format("{0} {1}!", first, second);
Console.WriteLine(result);
Kissé furcsának tűnhetett, hogy egy adattípust képviselő kulcsszó ugyanúgy hívható metódusokkal rendelkezik, mint az osztály metódusai Console . Az a tény, hogy az adattípuson string számos hasonló metódus található, valamint bármilyen literális sztring vagy típussztring változó.
Íme a beépített metódusok kategóriáinak rövid listája, hogy képet kapjon a lehetséges lehetőségekről.
- Olyan metódusok, amelyek formázás céljából üres szóközöket adnak hozzá (
PadLeft(),PadRight()) - Metódusok, amelyek két sztringet hasonlítanak össze, vagy megkönnyítik az összehasonlítást (
Trim(),TrimStart(),TrimEnd(),GetHashcode(), aLengthtulajdonság) - Módszerek, amelyek segítenek megállapítani, hogy mi van egy karakterláncban, vagy akár visszakereshetjük a karakterlánc egy részét (
Contains(),StartsWith(),EndsWith(),Substring()). - A karakterlánc tartalmát módosító módszerek részek cseréjével, beszúrásával vagy eltávolításával (
Replace(),Insert(),Remove()) - Metódusok, amelyek sztringek vagy karakterek tömbjeként alakítják át a sztringeket (
Split(),ToCharArray())
Sztringek formázása szóközök hozzáadásával az elejükre vagy végükre.
A PadLeft() metódus üres szóközöket ad hozzá a sztring bal oldalához, így a karakterek teljes száma megegyezik a küldendő argumentummal. Ebben az esetben a sztring teljes hosszát 12 karakterre szeretné beállítani.
Törölje vagy használja a sor megjegyzés operátorát
//az előző gyakorlatok összes kódjának megjegyzéséhez.Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:
string input = "Pad this"; Console.WriteLine(input.PadLeft(12));A Visual Studio Code File menüben válassza a Mentés lehetőséget. Mentse a Program.cs fájlt a kód létrehozása vagy futtatása előtt.
Az EXPLORER panelen nyissa meg a Terminált a TestProject mappa helyén, kattintson a jobb gombbal a TestProject elemre, majd válassza a Megnyitás az integrált terminálban lehetőséget. Meg kell nyílnia egy terminálpanelnak, amely tartalmaz egy parancssort, jelezve, hogy a terminál a TestProject mappa helyére van állítva.
A terminál parancssorában a kód futtatásához írja be a dotnet run parancsot , majd nyomja le az Enter billentyűt.
Megjegyzés:
Ha "Nem található futtatandó projekt" üzenet jelenik meg, győződjön meg arról, hogy a Terminál parancssora megjeleníti a TestProject mappa várt helyét. Például:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Amikor futtatja a kódot, megfigyelheti, hogy a sztring bal oldalához négy karakter van hozzáfűzve, így a teljes hossza 12 karakter hosszú lesz.
Pad thisHa szóközt vagy karaktereket szeretne hozzáadni a sztring jobb oldalához, használja a
PadRight()metódust. 1. Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:Console.WriteLine(input.PadRight(12));Mentse a kódfájlt, majd a Visual Studio Code használatával futtassa a kódot. Nem fogja észrevenni a sztring végéhez hozzáfűzött karaktereket, de ott vannak.
Mi az a túlterhelt metódus?
A C#-ban a túlterhelt metódus a metódus egy másik verziója, amely eltérő vagy extra argumentumokkal rendelkezik, amelyek kissé módosítják a metódus működését, ahogyan a metódus túlterhelt verziója PadLeft() esetében is.
A metódus második túlterhelt verzióját is meghívhatja, és szóköz helyett bármilyen karaktert megadhat. Ebben az esetben a felesleges szóközt kötőjellel tölti ki.
Törölje vagy használja a sor megjegyzés operátorát
//az előző lépésben szereplő összes kód megjegyzéséhez.Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:
Console.WriteLine(input.PadLeft(12, '-')); Console.WriteLine(input.PadRight(12, '-'));Mentse a kódfájlt, majd a Visual Studio Code használatával futtassa a kódot. A sztring bal oldalán négy kötőjelnek kell megjelennie, amelyek 12 karakter hosszúak.
----Pad this Pad this----
Most alkalmazza ezt az új ismereteket egy másik valós forgatókönyvre.
Párnázott szövegláncok használata
Tegyük fel, hogy egy olyan fizetésifeldolgozó vállalatnál dolgozik, amely továbbra is támogatja a régi nagyszámítógépes rendszereket. Ezek a rendszerek gyakran megkövetelik, hogy az adatok adott oszlopokba kerüljenek. Tárolja például a fizetési azonosítót az 1–6. oszlopban, a kedvezményezett nevét a 7–30. oszlopban, a fizetési összeget pedig a 31–40. oszlopban. Emellett fontos, hogy a fizetési összeg helyesen van igazítva.
A rendszer arra kéri, hogy hozzon létre egy alkalmazást, amely a relációs adatbázis-kezelő rendszerben lévő adatokat régi fájlformátumra konvertálja. Annak érdekében, hogy az integráció megfelelően működjön, az első lépés a fájlformátum megerősítése azáltal, hogy az örökölt rendszerfenntartóknak mintát ad a kimenetről. Később erre a munkára építve több száz vagy akár több ezer kifizetést küld el egy ASCII-szövegfájlban való feldolgozásra.
A fizetési azonosító hozzáadása a kimenethez
Első lépésként nyomtassa ki a fizetési azonosítót az első hat oszlopban. Olyan véletlenszerű fizetési adatokat kell kiválasztania, amelyeknek megfelelőnek kell lenniük a célokhoz.
Törölje vagy használja a sor megjegyzés operátorát
//az előző lépésben szereplő összes kód megjegyzéséhez.Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:
string paymentId = "769C"; var formattedLine = paymentId.PadRight(6); Console.WriteLine(formattedLine);Használja újra a változót
formattedLinea kimeneti sztring létrehozásához.Mentse a kódfájlt, majd a Visual Studio Code használatával futtassa a kódot. A következő kimenetnek kell megjelennie:
769C
Két üres szóköz van a jobb oldalon, amelyek nem láthatók. A következő lépésben megerősíti majd, hogy léteznek.
A kedvezményezett nevének hozzáadása a kimenethez
Ezután egy fiktív kedvezményezett nevet ad hozzá, és azt megfelelően kitölti.
Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); Console.WriteLine(formattedLine);Az
+=operátor sztringösszefűzést hajt végre, amely a változóformattedLineelőző értékét veszi figyelembe, és hozzáadja az új értéket. Ez egy rövidített megfelelője a következő kód példának:formattedLine = formattedLine + payeeName.PadRight(24);Mentse a kódfájlt, majd a Visual Studio Code használatával futtassa a kódot. A következő kimenetnek kell megjelennie:
769C Mr. Stephen Ortega
Ismét elég sok üres szóköz van a Kedvezményezett neve után. Az 1. lépés fizetési azonosítója után két üres szóköz is van.
A fizetési összeg hozzáadása a kimenethez
Ezután adjon hozzá egy fiktív fizetési összeget, és ügyeljen arra, hogy PadLeft() a kimenetet megfelelően igazítsa.
Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:
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);Mentse a kódfájlt, majd a Visual Studio Code használatával futtassa a kódot. A következő kimenetnek kell megjelennie:
769C Mr. Stephen Ortega $5,000.00
Ez a kimenet meglehetősen közel áll ahhoz, amit a régi rendszer fenntartói kerestek.
Adjon hozzá egy számsort a kimenet fölé, hogy könnyebben megerősítse az eredményt
Mivel nehéz pontosan megszámolni azokat az oszlopokat, amelyekben az egyes adatelemek megjelennek, közvetlenül a kimenet fölé kell felvennie egy sort, amely segít megszámolni az oszlopokat.
Console.WriteLine("1234567890123456789012345678901234567890");
Frissítse a kódot a Visual Studio Code Editorban az alábbiak szerint:
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);Mentse a kódfájlt, majd a Visual Studio Code használatával futtassa a kódot. A következő kimenetnek kell megjelennie, amelyet elküldhet az örökölt rendszer fenntartóinak, hogy meggyőződjön az új integráció helyes működéséről:
1234567890123456789012345678901234567890 769C Mr. Stephen Ortega $5,000.00
Sikerült!
Összefoglalás
Van néhány fontos elvitel ebből az egységből.
- Az
stringadattípus, a literális sztringek és a típussztring változói számos segédmetelyt implementálnak a sztringeken végzett egyéb műveletek formázására, módosítására és végrehajtására. - A
PadLeft()metódusok aPadRight()sztring teljes hosszához fehér szóközt (vagy opcionálisan egy másik karaktert) adnak hozzá. - Használja a
PadLeft()a sztring jobb oldali igazításához. - Egyes metódusok túlterheltek, ami azt jelenti, hogy a metódus több verziójával rendelkeznek, és különböző argumentumokkal rendelkeznek, amelyek befolyásolják a működésüket.
- Az
+=operátor összefűz egy új stringet a meglévő string jobb oldalára.
Tesztelje tudását
Visszajelzés
Hasznosnak találta ezt az oldalt?
No
Segítségre van szüksége ezzel a témakörrel kapcsolatban?
Szeretné kipróbálni az Ask Learn használatát a témakör tisztázásához vagy áttekintéséhez?