Kako podesiti pametne telefone i računare. Informativni portal

Poređenje simbola u si. Rad sa žicama

Deklarisanje nizova

C string je jednodimenzionalni niz znakova, čiji je posljednji element null prekinuti niz (null terminated string).

Deklarisanje varijable tipa string u jeziku C moguće je na tri načina, od kojih dva inicijalizuju string tokom deklaracije.

prvi način:

Deklaracije niza znakova (ne zaboravite da dodate prostor za null na kraju):

Char s;

drugi način:

Dodijelite početnu vrijednost varijabli stringa (u ovom slučaju, kompajler može izračunati dužinu samog niza):

Char s = "Primjer inicijalizacije niza";

Konstanta niza je upisana desno od znaka dodjeljivanja. Nula ('\ 0') se automatski dodaje na kraj reda. Konstante niza znakova smještene su u statičku memorijsku klasu.

treći način:

Implicitna indikacija da se koristi niz. Lijevo od znaka zadatka je pokazivač na simbol:

Char * s = "Druga opcija inicijalizacije";

Varijabla s će biti pokazivač na lokaciju u RAM-u gdje se nalazi niz konstanta. Postoji potencijalna greška u ovom obliku notacije, a to je da se pokazivač na karakter često naziva stringom. Unos ispod je samo pokazivač na znak, pošto nema prostora za postavljanje niza:

Char * s;

Unos niza sa standardnog uređaja za unos (tastatura)

Postoji skup funkcija za rad sa stringovima. Za unos sa standardnog ulaznog uređaja (tastature) najčešće se koriste funkcije biblioteke iz standardnog ulazno-izlaznog modula: scanf i gets.

Za unos niza pomoću funkcije scanf, koristi format « % s» , i imajte na umu da se ispred identifikatora stringa ne koristi znak adrese « & » pošto je jednodimenzionalni niz već predstavljen pokazivačem na njegov početak:

Scanf ("% s", s);

Funkcija dobije ()čita znakove dok ne dođe do znaka za novi red. Funkcija prihvaća sve znakove do znaka za prijelaz na red, ali ga ne uključuje. Završna nula ('\ 0') se dodaje na kraj reda. Funkcija dobije () stavlja niz znakova pročitanih sa tastature u parametar tipa string i vraća pokazivač na ovaj niz (ako je operacija bila uspešna) ili NULL (u slučaju greške). U primjeru ispod, nakon uspješnog završetka operacije, na ekranu će se prikazati dvije identične linije:

#include int main () (char s; char * p; p = dobija (s); printf ("\ n String% s uneto.", s); if (p) printf ("\ n String% s uneseno.", p); vrati 0;)

Usput, napominjemo da se funkcija gets često koristi za unos bilo kojeg podatka s tastature kao string u svrhu daljeg pretvaranja funkcije sscanf u željeni format ili za preliminarnu analizu ulaznih podataka, na primjer:

#include #include #include int main () (char s; int x, err; do (printf ("\ n Unesite cijeli broj ->"); dobiva (s); err = sscanf (s, "% d", & x); if ( err ! = 1) printf ("\ n greška u unosu.");) Dok (err! = 1); printf ("\ n unesen cijeli broj ->% d", x); vrati 0;)

Izlaz linija na standardni izlaz (ekran monitora)

Dvije funkcije se mogu koristiti za izlaz nizova na standardni izlaz (ekran monitora) printf i stavlja... U funkciji printf, "% s" se prosljeđuje kao format. Pogodnost korištenja ove funkcije leži u činjenici da pored stringa možete odmah ispisati podatke drugih vrsta. Feature Feature stavlja leži u činjenici da se nakon izlaza linije automatski događa prijelaz na sljedeći red.

Funkcije za rad sa stringovima

Biblioteka stringova je obezbeđena za pretvaranje stringova u C jeziku. Svaka od funkcija ima svoj format snimanja (prototip).

Najčešće korištene funkcije obrađene su u ovom članku. - čitaj

Primjer programa (listing) koji rade sa stringovima

34

--- C # Manual --- Žice

U smislu redovnog programiranja, string string tip podataka je jedan od najvažnijih u C #. Ovaj tip definira i podržava nizove znakova. U brojnim drugim programskim jezicima, string je niz znakova. A u C#, stringovi su objekti. Stoga je tip stringa referentni tip.

Izgradnja struna

Najlakši način da se izgradi niz znakova je korištenje string literala. Na primjer, sljedeći red koda dodjeljuje varijablu string reference str literalnoj referenci niza:

String str = "Uzorak niza";

U ovom slučaju, varijabla str se inicijalizira nizom znakova "Primjer stringa". Također možete kreirati objekat tipa string iz niza tipa char. Na primjer:

Chararray = ("e", "x", "a", "m", "p", "l", "e"); string str = novi string (chararray);

Jednom kada je objekt tipa string kreiran, može se koristiti gdje god je potreban niz citiranog teksta.

String persistence

Začudo, sadržaj objekta tipa string ne može se promijeniti. To znači da se jednom kreirana sekvenca znakova ne može promijeniti. Ali ovo ograničenje doprinosi efikasnijoj implementaciji znakovnih nizova. Stoga se ovaj, na prvi pogled, očigledan nedostatak zapravo pretvara u prednost. Dakle, ako je niz potreban kao varijacija postojećeg stringa, onda u tu svrhu treba kreirati novi string koji sadrži sve potrebne promjene. A pošto se neiskorišteni string objekti automatski sakupljaju kao smeće, ne morate čak ni da brinete o sudbini nepotrebnih nizova.

Treba, međutim, naglasiti da su reference na varijabilne stringove (odnosno objekti tipa string) podložni promjenama, pa se stoga mogu odnositi na drugi objekt. Ali sadržaj samog string objekta se ne mijenja nakon njegovog kreiranja.

Razmotrimo primjer:

Static void addNewString () (string s = "Ovo je moj potez"; s = "Ovo je novi potez";)

Hajde da kompajliramo aplikaciju i učitamo rezultirajući sklop u uslužni program ildasm.exe. Na slici je prikazan CIL kod koji će biti generiran za void addNewString () metodu:

Imajte na umu da postoji više poziva na ldstr (učitavanje linije) opcode. Ovaj CIL ldstr opkod daje upute za učitavanje novog string objekta u upravljanu hrpu. Kao rezultat toga, prethodni objekat koji je sadržavao vrijednost "Ovo je moj udar" će na kraju biti sakupljen.

Rad sa žicama

U razredu System.String obezbeđen je skup metoda za određivanje dužine znakovnih podataka, pronalaženje podniza u trenutnom nizu, pretvaranje znakova iz velikih u mala slova i obrnuto, itd. U nastavku ćemo detaljnije pogledati ovu klasu.

Polje niza, indekser i svojstvo

Klasa String ima jedno definirano polje:

Javni statički string samo za čitanje Empty;

Polje Empty označava prazan niz, tj. string koji ne sadrži znakove. Ovo je u suprotnosti sa praznom string referencom, koja se jednostavno pravi na nepostojeći objekat.

Pored toga, klasa String definira jedan indeksator samo za čitanje:

Javno označi ovo (dobi;)

Ovaj indeksator vam omogućava da dobijete znak na navedenom indeksu. Indeksiranje stringova, kao i nizova, počinje od nule. String objekti su postojani i nepromjenjivi, tako da ima smisla da klasa String podržava indeksator samo za čitanje.

Konačno, String klasa definira jedno svojstvo samo za čitanje:

Javna int dužina (dobi;)

Svojstvo Length vraća broj znakova u nizu. Primjer ispod pokazuje upotrebu indeksera i svojstva Length:

Korišćenje sistema; class Primjer (statički void Main () (string str = "Jednostavan string"; // Dobijte dužinu stringa i 6. znak u nizu pomoću indeksera Console.WriteLine ("Dužina niza je (0),) 6. znak je" (1) "" , str.Dužina, str;))

Operatori string klase

Klasa String preopterećuje sljedeća dva operatora: == i! =. Operator == se koristi za testiranje jednakosti dva niza znakova. Kada se operator == primjenjuje na reference objekata, obično provjerava da li su obje reference napravljene na isti objekt. A kada se operator == primjenjuje na reference na objekte tipa String, tada se sadržaj samih stringova uspoređuje radi jednakosti. Isto vrijedi i za! = Operator. Kada se primeni na reference na objekte tipa String, sadržaj samih nizova se poredi radi nejednakosti. U isto vrijeme, drugi relacijski operatori, uključujući =, uspoređuju reference na objekte tipa String na isti način kao i na objekte drugih tipova. A da biste provjerili je li jedan string veći od drugog, trebali biste pozvati metodu Compare () koja je definirana u klasi String.

Kao što će postati jasno, mnoga poređenja znakovnih nizova koriste kulturne informacije. Ali ovo se ne odnosi na operatore == i!=. Uostalom, oni jednostavno upoređuju redne vrijednosti znakova u nizovima. (Drugim riječima, oni upoređuju vrijednosti binarnih znakova koje nisu kulturno modificirane, tj. kultivirane.) Stoga, ovi operatori izvode poređenja nizova na način bez obzira na velika i mala slova i neosjetljiv na kulturu.

Metode string klase

Sljedeća tabela navodi neke od zanimljivijih metoda ove klase, grupirane po namjeni:

Metode rada sa nizovima
Metoda Struktura i preopterećenja Imenovanje
Uporedite žice
uporedi () public static int Compare (string strA, string strB)

Public static int Compare (string strA, string strB, bool ignoreCase)

Javni statički int Compare (string strA, string strB, StringComparison CompareType)

Public static int Compare (string strA, string strB, bool ignoreCase, kultura CultureInfo)

Statička metoda, upoređuje string strA sa stringom strB. Vraća pozitivnu vrijednost ako je strA veći od strB; negativna vrijednost ako je niz strA manji od niza strB; i nula ako su strA i strB jednaki. Poređenje je osjetljivo na velika i mala slova i kulturološki osjetljivo.

Ako je ignoreCase Boolean vrijednost true, poređenje ignorira razliku između velikih i malih slova. Inače, ove razlike se uzimaju u obzir.

Parametar CompareType specificira specifičan način za poređenje stringova. Klasa CultureInfo je definirana u imenskom prostoru System.Globalization.

public static int Compare (string strA, int indexA, string strB, int indexB, int dužina)

Public static int Compare (string strA, int indexA, string strB, int indexB, int length, bool ignoreCase)

Javni statički int Compare (string strA, int indexA, string strB, int indeksB, int dužina, StringComparison CompareType)

Public static int Compare (string strA, int indexA, string strB, int indexB, int length, bool ignoreCase, CultureInfo kultura)

Uspoređuje dijelove strA i strB stringova. Poređenje počinje sa string elementima strA i strB i uključuje broj znakova specificiranih parametrom dužine. Metoda vraća pozitivnu vrijednost ako je dio strA stringa veći od dijela strB stringa; negativna vrijednost ako je dio niza strA manji od dijela stringa strB; i nula ako su upoređeni dijelovi strA i strB jednaki. Poređenje je osjetljivo na velika i mala slova i kulturološki osjetljivo.

CompareOrdinal () public static int CompareOrdinal (string strA, string strB)

Javni statički int CompareOrdinal (string strA, int indexA, string strB, int indeksB, int count)

Radi isto što i metoda Compare (), ali zanemaruje lokalne postavke

uporedi sa () public int CompareTo (vrijednost objekta)

Uspoređuje pozivni niz sa stringovom reprezentacijom objekta vrijednosti. Vraća pozitivnu vrijednost ako je pozivni niz veći od vrijednosti stringa; negativna vrijednost ako je pozivni niz manji od vrijednosti stringa; i nula ako su upoređeni nizovi jednaki

public int CompareTo (niz strB)

Upoređuje pozivni niz sa stringom strB

jednako () javno nadjačavanje bool jednako (object obj)

Vraća Booleovu vrijednost true ako pozivni niz sadrži isti niz znakova kao i reprezentacija stringa za obj. Obavlja poredenje rednog reda osjetljivo na velika i mala slova, ali neosjetljivo na kulturu

javni bool jednako (vrijednost niza)

Javni bool jednako (vrijednost niza, StringComparison ComparisonType)

Vraća Booleovu vrijednost true ako pozivni niz sadrži isti niz znakova kao i vrijednost stringa. Izvodi se ordinalno poređenje osjetljivo na velika i mala slova, ali neosjetljivo na kulturu. Parametar CompareType definira specifičan način za poređenje stringova

javni statički bool Jednako (niz a, niz b)

Javni statički bool Jednako (niz a, string b, StringComparison ComparisonType)

Vraća logičku vrijednost true ako string a sadrži isti niz znakova kao string b. Izvodi se ordinalno poređenje osjetljivo na velika i mala slova, ali neosjetljivo na kulturu. Parametar CompareType definira specifičan način za poređenje stringova

Spojiti (pridružiti) nizove
concat () javni statički string Concat (string str0, string str1);

javni statički string Concat (vrijednosti niza parametara);

Kombinira odvojene instance nizova u jedan niz (konkatenacija)
Traži u nizu
Sadrži () javni bool Sadrži (vrijednost niza) Metoda koja vam omogućava da odredite da li niz sadrži određeni podniz (vrijednost)
Počinje sa () public bool StartsWith (vrijednost niza)

Public bool StartsWith (vrijednost niza, StringComparison ComparisonType)

Vraća logičku vrijednost true ako pozivni niz počinje vrijednošću podniza. U suprotnom, vraća se Boolean vrijednost false. Parametar CompareType specificira kako se pretraga izvodi.

Završava sa () javni bool EndsWith (vrijednost niza)

Javni bool EndsWith (vrijednost niza, StringComparison ComparisonType)

Vraća logičku vrijednost true ako se pozivajući niz završava vrijednošću podniza. U suprotnom, vraća logičku vrijednost false. Parametar CompareType specificira specifičnu metodu pretraživanja

IndexOf () public int IndexOf (vrijednost znakova)

Public int IndexOf (vrijednost niza)

Pronalazi prvo pojavljivanje navedenog podniza ili znaka u nizu. Ako željeni znak ili podniz nije pronađen, onda se vraća vrijednost -1

public int IndexOf (vrijednost char, int startIndex)

Public int IndexOf (vrijednost niza, int startIndex)

Javni int IndexOf (vrijednost znakova, int startIndex, int broj)

Public int IndexOf (vrijednost niza, int startIndex, int count)

Vraća indeks prvog pojavljivanja vrijednosti znaka ili podniza u pozivnom nizu. Pretraživanje počinje od elementa u indeksu startIndex i proteže se preko broja elemenata identificiranih brojanjem (ako je naveden). Metoda vraća -1 ako znak za pretragu ili podniz nije pronađen

LastIndexOf () Preopterećene verzije su slične metodi IndexOf ().

Isto kao IndexOf, ali pronalazi posljednje pojavljivanje znaka ili podniza, a ne prvo

IndexOfAny () public int IndexOfAny (char anyOf)

Javni int IndexOfAny (char anyOf, int startIndex)

Javni int IndexOfAny (char anyOf, int startIndex, int count)

Vraća indeks prvog pojavljivanja bilo kojeg znaka u nizu anyOf koji se nalazi u pozivnom nizu. Pretraživanje počinje od elementa u indeksu startIndex i proteže se preko broja elemenata identificiranih brojanjem (ako ih ima). Metoda vraća -1 ako nije pronađeno podudaranje ni sa jednim od znakova iz polja anyOf. Pretraga se vrši na redovan način.

LastIndexOfAny Preopterećene verzije su slične metodi IndexOfAny ().

Vraća indeks posljednjeg pojavljivanja bilo kojeg znaka iz niza anyOf koji se nalazi u pozivnom nizu

Razdvajanje i spajanje nizova
Podijeliti javni string Split (params char separator)

Javni string Split (params char separator, int count)

Metoda koja vraća niz stringova s ​​podstringovima prisutnim u ovoj instanci, odvojenim jedan od drugog elementima iz navedenog niza znakova ili niza nizova.

U prvom obliku metode Split (), pozivni niz se dijeli na svoje sastavne dijelove. Kao rezultat, vraća se niz koji sadrži podnizove dobijene iz pozivajućeg niza. Znakovi koji ograničavaju ove podnizove se prosleđuju u nizu separatora. Ako je niz separatora prazan ili se odnosi na prazan niz, tada se kao separator podniza koristi razmak. I u drugom obliku ove metode, vraća se broj podstringova specificiranih parametrom count.

javni string Split (params char separator, StringSplitOptions opcije)

Javni string Split (razdjelnik nizova, opcije StringSplitOptions)

Javni string Split (params char separator, int count, StringSplitOptions opcije)

Javni string Split (razdjelnik nizova, int count, StringSplitOptions opcije)

U prva dva oblika metode Split (), pozivni niz se dijeli na dijelove i vraća se niz koji sadrži podnizove dobivene iz pozivajućeg niza. Znakovi koji razdvajaju ove podnizove se prosleđuju u nizu separatora. Ako je niz separatora prazan, tada se kao separator koristi razmak. I u trećem i četvrtom obliku ove metode, vraća se broj redova, ograničen parametrom brojanja.

Ali u svim oblicima, parametar opcija označava specifičan način rukovanja praznim redovima koji se generiraju kada su dva graničnika jedan pored drugog. Samo dvije vrijednosti su definirane u nabrajanju StringSplitOptions: Nema i RemoveEmptyEntries... Ako je opcija Ništa, prazni nizovi su uključeni u krajnji rezultat cijepanja originalnog niza. A ako je parametar opcija postavljen na RemoveEmptyEntries, tada se prazni nizovi isključuju iz konačnog rezultata cijepanja originalnog niza.

pridruži se () javni statički string Join (razdjelnik nizova, vrijednost niza)

Javni statički string Join (razdjelnik nizova, vrijednost niza, int startIndex, int count)

Konstruiše novi string kombinovanjem sadržaja niza nizova.

Prvi oblik metode Join () vraća string koji se sastoji od spojenih podnizova proslijeđenih u niz vrijednosti. Drugi oblik također vraća string koji se sastoji od podnizova proslijeđenih u niz vrijednosti, ali oni su spojeni u određenom broju zbrojeva, počevši od elementa niza vrijednosti. U oba oblika, svaki sljedeći red je odvojen od prethodnog reda separatorom specificiranim parametrom separatora.

Linije za podrezivanje i obrezivanje
Podrezati () javni niz Trim ()

Javni string Trim (params char trimChars)

Metoda koja vam omogućava da uklonite sva pojavljivanja određenog skupa znakova s ​​početka i kraja tekućeg reda.

U prvom obliku Trim () metode, vodeći i zadnji razmaci se uklanjaju iz pozivajućeg niza. A drugi oblik ove metode uklanja početna i zadnja pojavljivanja u nizu znakova za pozivanje iz niza trimChars. U oba oblika, rezultujući niz se vraća.

PadLeft () javni niz PadLeft (int totalWidth)

Javni niz PadLeft (int totalWidth, char paddingChar)

Omogućava vam da unesete niz znakova s ​​lijeve strane.

Prvi oblik metode PadLeft () umeće razmake na lijevoj strani pozivajuće linije tako da je njegova ukupna dužina jednaka vrijednosti parametra totalWidth. I u drugom obliku ove metode, znakovi označeni parametrom paddingChar se ubacuju s lijeve strane pozivajuće linije tako da je njegova ukupna dužina jednaka vrijednosti parametra totalWidth. U oba oblika, rezultujući niz se vraća. Ako je totalWidth manja od dužine pozivajućeg niza, vraća se kopija neizmijenjenog niza poziva.

PadRight () Isto kao PadLeft ()

Omogućava vam da unesete niz znakova s ​​desne strane.

Umetanje, brisanje i zamjena nizova
umetnuti () javni string Insert (int startIndex, vrijednost stringa)

Koristi se za umetanje jednog reda u drugi, pri čemu vrijednost označava red za umetanje u pozivni red na indeksu startIndex. Metoda vraća rezultujući niz.

Ukloni () javni niz Ukloni (int startIndex)

Javni niz Ukloni (int startIndex, int count)

Koristi se za uklanjanje dijela niza. U prvom obliku metode Remove (), uklanjanje se izvodi počevši od lokacije označene startIndex i nastavljajući do kraja reda. I u drugom obliku ove metode, broj znakova specificiranih parametrom count se uklanja iz stringa, počevši od pozicije označene startIndex indeksom.

Zamijeni () javni niz Zamijeni (char oldChar, char newChar)

Javni niz Zamijeni (niz oldValue, string newValue)

Koristi se za zamjenu dijela niza. U prvom obliku metode Replace (), sva pojavljivanja oldChar u pozivnom nizu se zamjenjuju sa newChar. I u drugom obliku ove metode, sva pojavljivanja stringa oldValue u nizu poziva zamjenjuju se nizom newValue.

Promjena slučaja
ToUpper () javni niz ToUpper ()

Piše velika slova u nizu poziva.

Spustiti () javni niz ToLower ()

Mala slova u nizu poziva.

Dobivanje podniza iz niza
podniz () javni niz podniz (int startIndex)

Javni niz podniz (int startIndex, int dužina)

U prvom obliku metode Substring (), podniz se preuzima sa pozicije označene parametrom startIndex do kraja pozivajućeg niza. Drugi oblik ove metode izdvaja podniz koji se sastoji od broja znakova specificiranih parametrom dužine, počevši od lokacije označene parametrom startIndex.

Sljedeći primjer programa koristi nekoliko od gore navedenih metoda:

Korišćenje sistema; koristeći System.Collections.Generic; koristeći System.Linq; koristeći System.Text; imenski prostor ConsoleApplication1 (klasa Program (statički void Main (string args) (// Uporedite prva dva reda string s1 = "ovo je string"; string s2 = "ovo je tekst, a ovo je string"); if (String. CompareOrdinal (s1, s2) ! = 0) Console.WriteLine ("Strings s1 i s2 nisu jednaki"); if (String.Compare (s1, 0, s2, 13, 10, true) == 0) Console.WriteLine ("Istovremeno, imaju isti tekst "); // Konkatenacija nizova Console.WriteLine (String.Concat (" \ n "+" Jedan, dva "," tri, četiri ")); // Traži u string // Prvo pojavljivanje podniza if (s2. IndexOf ("ovo")! = -1) Console.WriteLine ("Riječ \" this \ "nađena je u redu, nalazi se" + "na: (0 ) position", s2.IndexOf ("this")); / / Posljednje pojavljivanje podniza if (s2.LastIndexOf ("this")! = -1) Console.WriteLine ("Posljednje pojavljivanje riječi \" this \ "je" + "na (0) poziciji", s2.LastIndexOf ("ovo" )); // Traži iz niza znakova char myCh = ("Y", "x", "t"); if ( s2.IndexOfAny (myCh)! = -1) Console.WriteLine ("Jedan od znakova iz niza ch "+" pronađen u trenutnom linija na poziciji (0) ", s2.IndexOfAny (myCh)); // Određuje da li string počinje datim podnizom if (s2.StartsWith ("ovo je tekst") == true) Console.WriteLine ("Podniz pronađen!"); // Odredite da li niz sadrži podniz // koristeći primjer definiranja korisničkog OS stringa myOS = Environment.OSVersion.ToString (); if (myOS.Sadrži ("NT 5.1")) Console.WriteLine ("Vaš operativni sistem je Windows XP"); else if (myOS.Sadrži ("NT 6.1")) Console.WriteLine ("Vaš Windows 7 operativni sistem"); Console.ReadLine (); )))

Malo o poređenju stringova u C #

Od svih operacija obrade niza znakova, vjerovatno je da se jedan niz uspoređuje s drugim. Prije razmatranja bilo kakvih metoda za poređenje stringova, treba naglasiti sljedeće: poređenja nizova se mogu izvesti u .NET Frameworku na dva glavna načina:

    Prvo, poređenje može odražavati običaje i norme određenog kulturnog okruženja, koje su često kulturne postavke koje stupaju na snagu kada se program pokrene. Ovo je standardno ponašanje za neke, ali ne sve metode poređenja.

    I drugo, poređenje se može izvesti bez obzira na postavke kulturnog okruženja samo po rednim vrijednostima znakova koji čine niz. Uopšteno govoreći, kulturološki zanemarena poređenja nizova koriste leksikografski red (i lingvistička razmatranja) kako bi odredili da li je jedan niz veći, manji ili jednak drugom nizu. U ordinalnom poređenju, nizovi se jednostavno poredaju na osnovu nepromenjene vrednosti svakog znaka.

Zbog različitih kulturoloških i ordinalnih poređenja nizova i implikacija svakog poređenja, toplo se preporučuje da slijedite najbolje prakse koje trenutno nudi Microsoft. Uostalom, odabir pogrešnog načina za upoređivanje stringova može dovesti do pogrešnog rada programa kada se koristi u okruženju koje se razlikuje od onog u kojem je razvijen.

Izbor načina upoređivanja znakovnih nizova je vrlo važna odluka. Kao opšte pravilo i bez izuzetka, kulturološki prikladno poređenje nizova treba izabrati ako je u svrhu prikazivanja rezultata korisniku (na primer, za prikaz niza nizova sortiranih po leksikografskom redosledu). Međutim, ako stringovi sadrže fiksne informacije koje nisu namijenjene za modificiranje kako bi se prilagodile kulturološkim razlikama, kao što su naziv datoteke, ključna riječ, adresa web stranice ili sigurnosna vrijednost, tada biste trebali odabrati poređenje rednih nizova. Naravno, specifičnosti određene aplikacije koja se razvija će diktirati izbor odgovarajućeg načina za poređenje nizova znakova.

Klasa String pruža razne metode poređenja stringova, koje su navedene u gornjoj tabeli. Najsvestraniji od njih je Compare () metoda. Omogućava vam da uporedite dva niza u cjelini ili djelomično, osjetljivo na velika ili mala slova, način poređenja definiran parametrom tipa StringComparison kao i informacije o kulturi koje se pružaju s parametrom tipa CultureInfo.

Preopterećene varijante Compare () koje ne sadrže parametar tipa StringComparison izvode poređenje znakovnih nizova osjetljivo na velika i mala slova i kulturu. A u onim preopterećenim varijantama koje ne sadrže parametar tipa CultureInfo, informacije o kulturi određuju se trenutnim vremenom izvođenja.

Tip StringComparison je enumeracija koja definira vrijednosti prikazane u tabeli ispod. Koristeći ove vrijednosti, možete organizirati poređenja nizova tako da odgovaraju potrebama vaše određene aplikacije. Stoga dodavanje parametra tipa StringComparison proširuje metodu Compare () i druge metode poređenja kao što je Equals (). Takođe omogućava da se nedvosmisleno naznači kako se nizovi trebaju porediti.

Zbog razlika između poređenja nizova osjetljivih na kulturu i poređenja rednih brojeva, vrlo je važno biti što precizniji u ovom pogledu.

Vrijednosti definirane u nabrajanju StringComparison
Značenje Opis
CurrentCulture Poređenja nizova se vrše korištenjem trenutnih postavki kulture
CurrentCultureIgnoreCase Poređenja nizova se vrše korištenjem trenutnih postavki kulture, ali ne razlikuju velika i mala slova
InvariantCulture Poređenje stringova se vrši korišćenjem immutable, tj. univerzalni podaci o kulturnom okruženju
InvariantCultureIgnoreCase Poređenje stringova se vrši korišćenjem immutable, tj. univerzalni podaci o kulturnom okruženju i neosjetljivi na velika i mala slova
Redni Poređenja nizova se vrše korištenjem rednih vrijednosti znakova u nizu. U tom slučaju leksikografski poredak može biti narušen, a konvencije usvojene u posebnom kulturnom okruženju se zanemaruju.
OrdinalIgnoreCase Poređenje nizova se vrši korištenjem rednih vrijednosti znakova u nizu, ali ne razlikuje velika i mala slova

U oba slučaja, Compare () metoda vraća negativnu vrijednost ako je prvi niz koji se poredi manji od drugog; pozitivna vrijednost ako je prvi upoređeni niz veći od drugog; i konačno nula ako su oba niza koja se upoređuju jednaka. Iako metoda Compare () vraća nulu ako su stringovi koji se uspoređuju jednaki, općenito je najbolje koristiti metodu Equals () ili == operator da odredite jesu li nizovi znakova jednaki.

Poenta je da metoda Compare () određuje jednakost upoređenih nizova na osnovu njihovog redoslijeda sortiranja. Na primjer, ako uspoređujete nizove na način koji je osjetljiv na kulturu, tada oba niza mogu biti ista po redoslijedu sortiranja, ali ne i suštinski jednaka. Prema zadanim postavkama, jednakost nizova se određuje u metodi Equals () na temelju rednih znakovnih vrijednosti i kulturno je neosjetljiva. Prema tome, prema zadanim postavkama, oba niza se porede u ovoj metodi za apsolutnu jednakost karakter po znak, slično kao što se radi u == operatoru.

Iako je metoda Compare () svestranija, lakše je koristiti metodu CompareOrdinal () za jednostavna poređenja nizova znakova. Konačno, imajte na umu da metoda CompareTo () uspoređuje samo nizove u smislu kulture.

Program ispod pokazuje upotrebu metoda Compare (), Equals (), CompareOrdinal () i operatora == i! = za poređenje znakovnih nizova. Imajte na umu da prva dva primjera poređenja ilustriraju razliku između kulturološki osjetljivih poređenja nizova i poređenja redova na engleskom:

Korišćenje sistema; Primjer klase (statički void Main () (string str1 = "alpha"; string str2 = "Alpha"; string str3 = "Beta"; string str4 = "alpha"; string str5 = "alpha, beta"; int rezultat; / / Prvo, pokažite razliku između poređenja stringova svjesnih kulture i rezultata poređenja redova = String.Compare (str1, str2, StringComparison.CurrentCulture); Console.Write ("Poređenje stringova svjesnih kulture:"); if (rezultat 0 ) Konzola .WriteLine (str1 + "veće od" + str2); inače Console.WriteLine (str1 + "jednako" + str2); rezultat = String.Compare (str1, str2, StringComparison.Ordinal); Console.Write ("Ordinalno poređenje linije: "); if (rezultat 0) Console.WriteLine (str1 +" veći od "+ str2); else Console.WriteLine (str1 +" jednako "+ str4); // Koristite CompareOrdinal () metodu rezultat = String .CompareOrdinal ( str1, str2); Console.Write ("Uporedi stringove koristeći CompareOrdinal () metod: \ n"); if (rezultat 0) Console.WriteLine (str1 + "više" + str2); inače Console.WriteLine ( str 1 + "jednako" + str4); Console.WriteLine (); // Odredite jednakost nizova pomoću == operatora // Ovo je ordinalno poređenje nizova znakova if (str1 == str4) Console.WriteLine (str1 + "==" + str4); // Odredite nejednakost niza pomoću operatora! = If (str1! = Str3) Console.WriteLine (str1 + "! =" + Str3); if (str1! = str2) Console.WriteLine (str1 + "! =" + str2); Console.WriteLine (); // Izvrši rednu usporedbu nizova bez obzira na velika i mala slova // koristeći metodu Equals () if (String.Equals (str1, str2, StringComparison.OrdinalIgnoreCase)) Console.WriteLine ("Uspoređivanje nizova pomoću metode Equals () sa" + "Parametar OrdinalIgnoreCase: \ n "+ str1 +" je jednako "+ str2); Console.WriteLine (); // Usporedi dijelove nizova if (String.Compare (str2, 0, str5, 0, 3, StringComparison.CurrentCulture)> 0) (Console.WriteLine ("Uporedi nizove na osnovu trenutne kulture:" + "\ n3 prva znaka reda "+ str2 +" je veći od prva 3 znaka niza "+ str5);)))

Izvođenje ovog programa daje sljedeći rezultat:

Moderni C++ standard definira klasu sa funkcijama i svojstvima (varijable) za organiziranje rada sa stringovima (u klasičnom jeziku C nema nizova kao takvih, postoje samo nizovi znakova):

#include

#include

#include

Da biste radili sa stringovima, također morate povezati standardni imenski prostor:

Using namespace std;

U suprotnom, morat ćete svuda navesti deskriptor klase std :: string umjesto stringa.

Ispod je primjer programa koji radi sa stringom (ne radi u starim C-kompatibilnim kompajlerima!):

#include #include #include korištenje imenskog prostora std; int main () (string s = "Test"; s.insert (1, "!"); cout<< s.c_str() << endl; string *s2 = new string("Hello"); s2->obrisati (s2-> end ()); cout<< s2->c_str (); cin.get (); return 0; )

Glavne karakteristike string klase:

  • inicijalizacija nizom znakova (niz ugrađenog tipa) ili drugim objektom tipa string. Ugrađeni tip nema drugu opciju;
  • kopiranje jednog reda u drugi. Za ugrađeni tip, morate koristiti funkciju strcpy ();
  • pristup pojedinačnim znakovima niza za čitanje i pisanje. U ugrađenom nizu, ovo se radi pomoću operacije preuzimanja indeksa ili indirektnog adresiranja pomoću pokazivača;
  • poređenje dva niza za jednakost. Za ugrađeni tip koriste se funkcije porodice strcmp ();
  • konkatenacija (konkatenacija) dva niza, dajući rezultat ili kao treći niz, ili umjesto jednog od originalnih. Za ugrađeni tip koristi se funkcija strcat (), ali da biste dobili rezultat u novom redu, morate uzastopno koristiti funkcije strcpy () i strcat (), a također voditi računa o dodjeli memorije;
  • ugrađena sredstva za određivanje dužine stringa (članske funkcije veličine klase () i dužine ()). Dužinu niza ugrađenog tipa možete saznati samo izračunavanjem pomoću funkcije strlen ();
  • mogućnost saznanja da li je niz prazan.

Pogledajmo bliže ove osnovne karakteristike.

Inicijalizacija nizova prilikom opisivanja i dužina linije(ne uključujući završni null terminator):

String st ("Moj string \ n"); cout<< "Длина " << st << ": " << st.size() << " символов, включая символ новой строки\n";

Niz se može dati i prazan:

String st2;

Da proverim da li je linija prazna, možete uporediti njegovu dužinu sa 0:

If (! St.size ()) // prazno

ili koristite metodu empty (), vraćajući true za prazan niz i false za neprazan niz:

If (st.empty ()) // prazno

Treći oblik kreiranja niza inicijalizira objekt tipa string drugim objektom istog tipa:

String st3 (st);

String st3 je inicijaliziran stringom st. Kako možemo biti sigurni da su ovi žice odgovaraju? Koristimo operator poređenja (==):

If (st == st3) // inicijalizacija je uspjela

Kako kopirati jedan red u drugi? Uz uobičajenu operaciju dodjele:

St2 = st3; // kopiraj st3 u st2

Za konkatenacija nizova koristite operaciju sabiranja (+) ili operaciju sabiranja (+ =). Neka su data dva reda:

String s1 ("zdravo,"); string s2 ("svijet \ n");

Možemo dobiti treći red, koji se sastoji od spajanja prva dva, ovako:

String s3 = s1 + s2;

Ako želimo dodati s2 na kraj s1, moramo napisati:

S1 + = s2;

Operacija sabiranja može spojiti objekte klase string ne samo među sobom, već i sa nizovima ugrađenog tipa. Gornji primjer možete prepisati tako da posebni znakovi i interpunkcijski znaci budu predstavljeni ugrađenim tipom char *, a značajne riječi su predstavljene nizom objekata:

Const char * pc = ","; string s1 ("zdravo"); string s2 ("svijet"); string s3 = s1 + pc + s2 + "\ n"; cout<< endl << s3;

Izrazi poput ovih rade jer kompajler "zna" kako automatski pretvoriti objekte ugrađenog tipa u objekte string klase. Moguće je i jednostavno dodjeljivanje umetnutog niza objektu niza:

String s1; const char * pc = "niz znakova"; s1 = pc; // desno

U ovom slučaju, inverzna transformacija ne radi... Pokušaj da se izvrši sljedeća inicijalizacija niza ugrađenog tipa će izazvati grešku kompilacije:

Char * str = s1; // greška kompilacije

Da biste izvršili ovu konverziju, morate eksplicitno pozvati funkciju člana c_str () ("C string"):

Const char * str = s1.c_str ();

Funkcija c_str () vraća pokazivač na niz znakova koji sadrži string objekta string kao što bi bio u ugrađenom tipu stringa. Ključna riječ const ovdje sprječava "opasnu" u modernim vizualnim okruženjima mogućnost direktnog mijenjanja sadržaja objekta putem pokazivača.

TO pojedinačni likovi objektu tipa string, poput ugrađenog tipa, može se pristupiti korištenjem operacije preuzimanja indeksa. Na primjer, evo isječka koda koji zamjenjuje sve tačke podvlakama:

String str ("www.disney.com"); int size = str.size (); za (int i = 0; i< size; i++) if (str[i] == ".") str[ i ] = "_"; cout << str;

Zamijenite (str.begin (), str.end (), ".", "_");

Istina, ovdje se ne koristi metoda zamjene string klase, već istoimeni algoritam:

#include

Budući da se string objekat ponaša kao kontejner, na njega se mogu primijeniti drugi algoritmi. Ovo vam omogućava da riješite probleme koji nisu direktno riješeni funkcijama string klase.

Ispod je kratak opis glavnih operatora i funkcija string klase, veze u tabeli vode do opisa na ruskom jeziku na Internetu. Za potpuniju listu mogućnosti string klase, pogledajte, na primjer, Wikipedia ili cplusplus.com.

Određivanje znakova u nizu

operator =

dodeljuje vrednosti nizu

dodijeliti

dodeljuje znakove nizu

Pristup pojedinačnim simbolima

at

dobivanje specificiranog karaktera provjeravajući da li je indeks izvan granica

operater

dobijanje specificiranog karaktera

front

dobijanje prvog lika

nazad

dobiti zadnji lik

podaci

vraća pokazivač na prvi znak niza

c_str

vraća nepromjenjivo niz C znakova koji sadrži znakove u nizu

Provjera kapaciteta linije

prazan

provjerava da li je niz prazan

veličina
dužina

vraća broj znakova u nizu

max_size

vraća maksimalan broj znakova

rezerva

rezerviše prostor za skladištenje

Operacije sa stringovima

jasno

briše sadržaj niza

insert

ubacivanje simbola

izbrisati

brisanje znakova

push_back

dodavanje znaka na kraj reda

pop_back

uklanja posljednji znak

append

operator + =

dodaje znakove na kraj reda

uporedi

upoređuje dva niza

zamijeniti

zamjenjuje svako pojavljivanje navedenog znaka

substr

vraća podniz

kopija

kopira znakove

promeni veličinu

mijenja broj pohranjenih znakova

Programer kaže:

Zdravo! Pročitao sam tvoj članak. Bio sam veoma tužan i smešan u isto vreme. Ova vaša fraza je posebno ubijajuća: "Pošto se varijabla tipa char često koristi kao niz, broj mogućih vrijednosti je određen." 😆 😆 😆
Ne smijem ti se. Izrada web stranice je zaista podvig. Samo želim da vas podržim savjetima i ukažem na nekoliko grešaka.

1. Vrijednost varijable tipa char se dodjeljuje na sljedeći način:

ovdje:

Char a = * "A";

Pointer na niz je neadresiran i, kao rezultat, vraća se vrijednost prvog elementa niza, tj. 'A'

2. Nuliranje se vrši na sljedeći način:

Char a = NULL;
char b = ();

// I ovako se briše linija u tijelu programa

"" - ovaj znak se naziva nultim terminatorom. Postavlja se na kraj reda. Vi ste sami, a da to niste znali, ispunili s1 niz iz vašeg članka ovim simbolom. Ali bilo je moguće dodijeliti ovaj simbol samo nultom elementu niza.

3. Slobodno koristite terminologiju.
Znak = je operacija dodjeljivanja.
Znak * je operacija pozivanja.
Mislim na ovaj fragment članka: "Sve se pokazalo tako jednostavno, prije znaka = morali ste staviti znak * i morali ste deklarirati broj elementa (nula odgovara prvom)"

Nemojte me pogrešno shvatiti, članak u ovakvom stanju ne može postojati. Ne budite lijeni, prepišite to.
Imate veliku odgovornost! Ozbiljan sam. Stranice vaše web stranice bile su uključene u prvu stranicu rezultata Yandex pretraživanja. Mnogi ljudi su već počeli da ponavljaju greške za vama.

Sretno! Možeš to podnijeti!

:
Znam to odavno, samo je tesko stalno precitati 200 clanaka da se nesto popravi. A neki bezobrazni tipovi pišu tako da čak i kada se zna šta je bolje popraviti, nema želje da se to popravi.

Rado ću popraviti i druge greške. ispravite nepreciznosti ako se pojave. Cijenim tvoju pomoć. Hvala, to znam odavno, samo je tesko stalno precitati 200 clanaka da se nesto popravi. A neki bezobrazni tipovi pišu tako da čak i kada se zna šta je bolje popraviti, nema želje da se to popravi.
Sa vašim char b = (); Ovo uopšte nije nula. bi provjerio barem b.
ako govorimo o nultom karakteru ""; Znala sam jako dobro kada sam popunjavala red sa njima i svrha je bila da pokažem pravo čišćenje, a ne vidljivo oku, jer red uključuje smeće koje ponekad stane na put. Bili biste pažljiviji sa samim terminima, "null-termination character" ili jednostavno "null character", a ne terminator))) A karakter terminatora zvuči jednostavno super.

Modernizujem članak, ali neću prelaziti na tuđi stil. Ako smatram da je početniku jasnije ovako, a ne onako kako želi, onda ću tako ostaviti. I ti me nemoj pogrešno shvatiti. Riječ "znak" je za slabog početnika mnogo lakše razumjeti i zapamtiti nego definiciju i naziv svakog znaka. U ovome nema apsolutno nikakve greške, znak je - znak. Manji naglasak na jednoj stvari daje veći naglasak na drugoj.

Rado ću popraviti i druge greške. ispravite nepreciznosti ako se pojave. Cijenim tvoju pomoć. Hvala ti.

Zdravo opet!
Želim da razjasnim. Termin "zero-terminator" (terminator) koristio je moj profesor na univerzitetu. Očigledno je ovo stara škola!
Što se tiče nula linija.
char b = (); Ovo je stvarno nula. Cijeli niz je ispunjen nulama. Ne vjerujte - provjerite!
Ako string posmatramo u njegovom prirodnom, svakodnevnom smislu, onda će "prazan" biti niz u kome nema ni jednog karaktera. Stoga je u 99,9% slučajeva dovoljno dodati null karakter. Obično obrada stringa ide do prvog nul znaka, a koji znakovi ga slijede više nije važno. Razumijem da ste željeli nulirati niz. Upravo sam odlučio ponuditi klasičnu verziju provjerenu vremenom.

:
Kada "Obično obrada niza ide do prvog nul karaktera, a koji znakovi slijede više nije važno" - da, niz se resetuje na nulu
Ako uzmemo u obzir "stvarno nuliranje svih ćelija u nizu (o čemu sam pisao)" - ne, ne nuliranje, pa čak ni prvi znak nije nula. Provjerio sam ovu opciju. MinGW (CodeBlock) - cijeli niz daje znak "a"
Ne mislim da je to razlog za kontroverzu.

Posljednje ažurirano: 31.10.2015

Konkatenacija

Konkatenacija ili spajanje nizova može se izvršiti pomoću operacije + ili pomoću metode Concat:

String s1 = "zdravo"; string s2 = "svijet"; string s3 = s1 + "" + s2; // rezultat: string "zdravo svijet" string s4 = String.Concat (s3, "!!!"); // rezultat: string "hello world !!!" Console.WriteLine (s4);

Metoda Concat je statička metoda klase String koja uzima dva niza kao parametre. Postoje i druge verzije metode koje uzimaju drugačiji broj parametara.

Metoda Join se također može koristiti za spajanje nizova:

String s5 = "jabuka"; string s6 = "dan"; string s7 = "čuva"; string s8 = "doktor"; string s9 = "u gostima"; vrijednosti niza = novi niz (s5, s6, s7, s8, s9); String s10 = String.Join ("", vrijednosti); // rezultat: string "jabuka na dan drži doktora podalje"

Metoda Join je također statična. Verzija metode koja se koristi iznad prima dva parametra: string za razdvajanje (u ovom slučaju, razmak) i niz stringova koji će biti spojeni i odvojeni separatorom.

Uporedite žice

Statička metoda Compare se koristi za upoređivanje nizova:

String s1 = "zdravo"; string s2 = "svijet"; int rezultat = String.Compare (s1, s2); ako (rezultat<0) { Console.WriteLine("Строка s1 перед строкой s2"); } else if (result >0) (Console.WriteLine ("Linija s1 dolazi nakon linije s2");) inače (Console.WriteLine ("Linije s1 i s2 su identične");) // rezultat će biti "Linija s1 prije linije s2"

Ova verzija metode Compare uzima dva niza i vraća broj. Ako je prvi red po abecedi veći od drugog, onda se vraća broj manji od nule. U suprotnom, vraća se broj veći od nule. I treći slučaj - ako su stringovi jednaki, onda se vraća broj 0.

U ovom slučaju, pošto je znak h po abecednom redu viši od znaka w, tada će i prvi red biti viši.

Traži u nizu

Koristeći metodu IndexOf, možemo odrediti indeks prvog pojavljivanja jednog znaka ili podniza u nizu:

String s1 = "zdravo svijete"; char ch = "o"; int indexOfChar = s1.IndexOf (ch); // jednako 4 Console.WriteLine (indexOfChar); string subString = "rad"; int indexOfSubstring = s1.IndexOf (podniz); // jednako 6 Console.WriteLine (indexOfSubstring);

Metoda LastIndexOf radi na sličan način, samo pronalazi indeks posljednjeg pojavljivanja znaka ili podniza u nizu.

Druga grupa metoda vam omogućava da saznate da li niz počinje ili završava određenim podnizom. Za to su dizajnirane metode StartsWith i EndsWith. Na primjer, imamo zadatak ukloniti sve datoteke s ekstenzijom exe iz mape:

Putanja niza = @ "C: \ SomeDir"; string files = Directory.GetFiles (putanja); za (int i = 0; i< files.Length; i++) { if(files[i].EndsWith(".exe")) File.Delete(files[i]); }

Razdvajanje žica

Pomoću funkcije Split možemo podijeliti niz u niz podstringova. Kao parametar, funkcija Split prihvaća niz znakova ili nizova koji će služiti kao separatori. Na primjer, izbrojimo broj riječi u pojmu tako što ćemo ga podijeliti razmakom:

String text = "I zato se desilo ovako"; niz riječi = text.Split (novi znak ("")); foreach (niz s u riječima) (Console.WriteLine (s);)

Ovo nije najbolji način za razdvajanje razmacima, jer bismo mogli imati nekoliko uzastopnih razmaka u ulaznoj liniji i razmaci bi također upali u rezultirajući niz, pa je bolje koristiti drugu verziju metode:

String riječi = text.Split (novi znak (""), StringSplitOptions.RemoveEmptyEntries);

Drugi parametar StringSplitOptions.RemoveEmptyEntries kaže da treba ukloniti sve prazne podnizove.

Podrezivanje niza

Upotrijebite funkciju Trim da skratite početne ili zadnje znakove:

String text = "zdravo svijete"; tekst = tekst.Obrezivanje (); // rezultat "hello world" text = text.Trim (novi char ("d", "h")); // rezultat "ello worl"

Funkcija Trim bez parametara skraćuje početne i zadnje razmake i vraća skraćeni niz. Da bismo eksplicitno odredili koje početne i završne znakove treba skratiti, možemo proslijediti niz tih znakova funkciji.

Ova funkcija ima djelomične parnjake: funkcija TrimStart skraćuje početne znakove, a funkcija TrimEnd završne znakove.

Funkcija Substring vam omogućava da odsiječete određeni dio niza:

String text = "Lep dan"; // odrezan počevši od trećeg znaka text = text.Substring (2); // rezultat "dobar dan" Console.WriteLine (tekst); // odsjeci prvi do zadnja dva znaka text = text.Substring (0, text.Length - 2); // rezultat je "dragi" Console.WriteLine (tekst);

Funkcija Substring također vraća skraćeni niz. Kao parametar, prva korištena verzija koristi indeks iz kojeg se skraćuje niz. Druga verzija koristi dva parametra - indeks početka obrezivanja i dužinu odsječenog dijela linije.

Insert

Da umetnete jedan red u drugi, koristite funkciju Insert:

String text = "Lep dan"; string subString = "prekrasno"; text = text.Insert (8, podniz); Console.WriteLine (tekst);

Prvi parametar u funkciji Insert je indeks u koji treba umetnuti podniz, a drugi parametar je stvarni podniz.

Brisanje redova

Metoda Remove pomaže u uklanjanju dijela niza:

String text = "Lep dan"; // indeks posljednjeg znaka int ind = text.Length - 1; // izrezati zadnji znak text = text.Remove (ind); Console.WriteLine (tekst); // izrezati prva dva znaka text = text.Remove (0, 2);

Prva verzija metode Remove prihvata indeks u nizu iz kojeg se uklanjaju svi znakovi. Druga verzija prihvata još jedan parametar - koliko znakova treba ukloniti.

Zamjena

Za zamjenu jednog znaka ili podniza drugim, primjenjuje se metoda Zamijeni:

String text = "lijep dan"; text = text.Replace ("dobro", "loše"); Console.WriteLine (tekst); text = text.Replace ("o", ""); Console.WriteLine (tekst);

U drugom slučaju korištenja funkcije Replace, niz od jednog simbola "o" zamjenjuje se praznim nizom, odnosno uklanja se iz teksta. Na sličan način, lako je izbrisati određeni tekst u redovima.

Promjena slučaja

Za pretvaranje niza u velika i mala slova, koriste se funkcije ToUpper () i ToLower ():

String hello = "Zdravo svijete!"; Console.WriteLine (hello.ToLower ()); // Zdravo svijete! Console.WriteLine (hello.ToUpper ()); // ZDRAVO SVIJETE!

Top srodni članci