BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Aktualności


stringi

16-12-2013 21:26 Konrad Tomczyk
stringi

Ta lekcja tyczy się głębszego omówienia typu string, który jest jednym z typów wbudowanych. Typ ten reprezentuje łańcuch znaków typu Unitcode. Pomimo tego, że string jest typem referencyjnym, to operator równości i nierówności służy do porównywania wartości obiektów string. Dzięki temu łańcuchy są porównywane w bardziej intuicyjny sposób. Omówimy tutaj kilka przykładów w których ukazane są dotychczas nie znane ci dotychczas aspekty związane z typem wbudowanym string. Zaczniemy od tego, że łańcuchy znaków możesz tworzyć z tablic typu char, oto przykład w którym jest to ukazane:

Początek kodu:
using System;

class Pokaz {
public static void Main(){

char[] tablica = {‘T’,'e’,'s’,'t’,'o’,'w’,'a’};
string tekst = new string(tablica);

Console.WriteLine(tekst);

}

}

Koniec kodu:

Tłumaczyć nie ma tutaj za bardzo czego, wszystko w powyższym programie powinno być dla ciebie zrozumiałe. Łańcuchy tekstowe możesz łączyć ze sobą w dowolny sposób za pomocą operatora + również za pomocą złożonego operatora przypisania.

Do obiektu typu string mamy dostęp za pomocą indeksera[] czyli łańcuch znaków jest tak naprawdę tablicą znaków, prześledź sobie poniższy przykład:

Początek kodu:
using System;


class Pokaz {
public static void Main(){

string tekst = „To jest nasz próbny tekst”;

Console.WriteLine(tekst);

Console.WriteLine(„Czwartą literą jest: ” + tekst[3]);

}
}

Koniec kodu:

Aby wczytać czwartą literę naszego tekstu użyliśmy indeksu, gdzie wpisaliśmy 3 otrzymując czwartą literę, a jak wiemy w C# indeksujemy od 0 ;

Aby dowiedzieć się ile znaków posiada nasz string, skorzystamy z własności Lenght, która to nam zwraca ilość elementów tablicy. Jak zapewne ci już wiadomo istnieje coś takiego jak stałe sekwencje znakowe:
\a alarm
\b backspace
\f przewijanie
\n nowa linia

\v tabulator pionowy

\t tabulator poziomy

\0 nul

\\ backshlash

\’ pojedynczy apostrof

\” podwójny apostrof

Oraz kod specjalny \udddd w którym do dddd oznacza cztero cyfrową liczbę reprezentującą znak unitcode, oto przykład:

Początek kodu:
using System;

 


class Pokaz {
public static void Main(){

 

Console.WriteLine(„\a\aC#\tC#\nC#\tC#”);
Console.WriteLine(„\u0110″);
}

}

Koniec kodu:

Teraz zapoznasz się z czymś takim jak stałe zmienne tekstowe, których to nie są przetwarzane specjalne sekwencje, aby utworzyć stałą zmienną tekstową używamy @. Najprościej tłumacząc jak zapiszesz stałą zmienną tekstową w programie tak ona będzie wyglądać. A oto przykład:

Początek kodu:

using System;


class Pokaz {
public static void Main(){


string stala = @”To jest stała zmienna teksowa
chociaż używam z tej zmiennej sekwencje znakowe to i tak one są pomijane \a
\n\n\n\Ja widać wszystko wygląda          tak jak zapisuję”;


Console.WriteLine(stala);
Console.WriteLine(@”
A to kolejna stała zmienna tekstowa, jest to bardzo wtedy użyteczne
gdy chcemy zapisać pełną ścieżkę do pliku:
C:\folder1\plik.txt, gdybyś my nie kożystali ze stałych zmiennych
teksowych musieli byś my zapisać tak C:\\folder1\\plik.txt”);

 


}

 

}

Koniec kodu:

Obiekty klasy string posiadają wiele ciekawych metod. Jedną z nich jest wyszukiwanie w wywołującym stringu podciągu znaku, istnieją dwie wersje takiej metody jedna z nich zwraca indeks pierwszego znalezienia IndexOf(), a druga indeks ostatniego znalezienia LastIndexOf() przykład:

Początek kodu:
using System;


class Pokaz
{
public static void Main(){
string tekst = „To jest tekst w którym wyszukamy nasz pociąg znaków, napiszę wiele razy tekst gdyż szukamy słowa tekst”;


Console.WriteLine(tekst.IndexOf(„tekst”)); // Indeks pierwszego znalezienia
Console.WriteLine(tekst.LastIndexOf(„tekst”)); // Indeks ostatniego znalezienia ;
}

}

Koniec kodu:

Jak widzisz dzięki tym metodą możemy wyszukiwać w naszym stringu podciągu znaków, potem możemy za pomocą metody SubString go wyświetlić. Warto wspomnieć, że łańcuchy znaków są nie zmienne, raz utworzony string nie może być zmieniony, może brzmi to jak wada ale tak nie jest gdy na przykład spróbujemy zmienić zawartość istniejącego już string-a to obecny zostanie zniszczony i zastąpiony nową referencją np.:

string tekst1 = „fajny tekst” ;

tekst1 = „spoko” ; // tworzymy nową referencję

Ale wracając do Substring jest to kolejna ciekawa metoda godna ukazani, otóż ta metoda pozwala na zwrócenie odpowiedniej porcji string-a wywołującego. Oto jak wygląda ogólna deklaracja:

Substring(int indeks_poczatkowy, int długosc);

Gdzie indeks_poczatkowy jest indeksem od którego zaczyna się nasz nowy podciąg znaków, dlugosc to jego długość. A oto przykład:

Początek kodu:
using System;

 


class Pokaz
{
public static void Main(){
string tekst = „C#.NET jest to nowy rewolucyjny język programowania”;

 

string a = tekst.Substring(20, 11);

Console.WriteLine(a);

 

}

}

Koniec kodu:

Kolejną metodą wartą omówienia jest metoda CompareTo(string str); która to zwraca więcej niż zero jeżeli str jest większe niż wywołujący string, mniej niż zero jeżeli str jest mniejsze niż wywołujący string oraz zero w przypadku gdy wywołujący string jest taki sam str. A to krótki przykład:

Początek kodu:
using System;

 


class Pokaz
{
public static void Main(){
string tekst = „C#.NET jest to nowy rewolucyjny język programowania”;

 


string a = „tak”;

 


Console.WriteLine(a.CompareTo(tekst));

 


}

 

}

Koniec kodu:

To mniej więcej tyle podstawowych wiadomości o typie string, ważne jest to abyś sam teraz starał sobie przyswoić wszystkie metody klasy String, jeżeli korzystasz z Visual Studio to bierz się już teraz do nauki, jeżeli nie to zawsze warto skorzystać z MSDN. Ważne abyś sobie wszystko przyswoił gdyż w dalszych kursach przechodzimy do konwersji string-ów na inne typy C#.

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.