Opiszę przykładowe metody klasy String.

Własność Lenght

Klasa String posiada własność Lenght zwraca ona wartość typu int, którą jest ilość znaków jaką zawiera obiekt. Zobaczmy przykład:

Napiszmy prostą aplikację z jednym obiektem klasy string i sprawdzimy jego długość:

class Program {
  static void Main() {
     string tekst = "Przykładowy tekst";
     Console.WriteLine("Zmienna tekst posiada: " + tekst.Length +" znaków");
     Console.ReadLine();
  }
}

Po skompilowaniu otrzymamy następujący komunikat:

Metody klasa String

Rys. Wyświetlenie ilości znaków zmiennej tekst

Metoda Console.WriteLine() przyjmuje wartości numeryczne i nie musimy ich konwertować na typ string, widać to w przykładzie wyżej, własność Lenght zwraca nam liczbę całkowitą. Nie musieliśmy używać metody ToString() aby ją wyświetlić na ekranie.

Metoda Compare()

Metoda Compare(lancuchA,lancuchB) porównuje dwa obiekty klasy string i zwraca liczbę całkowitą, która określa pozycję po sortowaniu. Mamy trzy możliwości jaka będzie zwrócona liczba:
– mniejsza od zera oznacza to, że lancuchA jest przed lancuchB w kolejności sortowania
– zero oznacza to, że lancuchA jest w takiej samej kolejności sortowania co lancuchB
– liczba większa od zera oznacza, że lancuchA jest za lancuchB w kolejności sortowania

Zobaczmy przykład:

class Program {
   static void Main() {
      string lancuchA = "Alina";
      string lancuchB = "Basia";
      Console.WriteLine(string.Compare(lancuchA, lancuchB));
      Console.ReadLine();
  }
}

Po skompilowaniu zostanie wyświetlony komunikat:

Metody klasa String

Rys. Wynik porównania lancuchA i lancuchB

W tym przypadku metoda Compare zwróci wartość -1 co oznacza, że łańcuch znaków Alina jest w kolejności sortowania przed łańcuchem Basia.
Metoda Compare przyjmuje trzeci parametr wejściowy typu bool (true/false) oznaczający czy podczas sprawdzania kolejności ominąć sprawdzanie według wielkości liter. Domyślnie ten parametr jest ustawiony na false.
Zobaczmy przykład:
Napiszmy prostą aplikację porównującą literę a z A.

class Program {
   static void Main() {
      string lancuchA = "a";
      string lancuchB = "A";
      Console.WriteLine(string.Compare(lancuchA, lancuchB));
      Console.ReadLine();
   }
}

W tym przykładzie nie używamy trzeciego parametru więc jest on ustawiony na falce. Co oznacza, że wielkość liter jest uwzględniana w sprawdzaniu kolejności sortowania.
Po skompilowaniu otrzymamy następujący wynik:

Metody klasa String

Rys. Wynik porównania lancuchA i lancuchB

Dopiszmy do metody Compare() trzeci parametr wejściowy ustawiony na true.

class Program {
    static void Main() {
       string lancuchA = "a";
       string lancuchB = "A";
       Console.WriteLine(string.Compare(lancuchA, lancuchB,true));
       Console.ReadLine();
   }
}

Zobaczmy rezultat działania aplikacji:

Metody klasa String

Rys. Wynik porównania lancuchA i lancuchB

Jak widzimy otrzymaliśmy wartość 0 czyli metoda Compare() nie uwzględniła wielkości liter przy sprawdzaniu kolejności sortowania.

Metoda IsNullOrEmpty()

Metoda klasy String IsNullOrEmpty() zwraca wartość typu bool(true/false). Ma ona za zadanie sprawdzenie czy obiekt jest typu null lub czy jest pusty. Zobaczmy przykład:
Napiszmy prostą aplikację w której zmienna typu string będzie o wartości null. Następnie użyjmy metody klasy string IsNullOrEmpty:

class Program {
    static void Main() {
       string lancuchA = null ;
       Console.WriteLine(string.IsNullOrEmpty(lancuchA));
       Console.ReadLine();
  }
}

Oto rezultat działania naszej aplikacji:

Metody klasa String

Rys. Rezultat działania metody IsNullOrEmpty

Jak widzimy metoda zwróciła wartość true czyli nasz obiekt jest null .
Wprowadźmy drobną modyfikację w kodzie:

class Program {
   static void Main() {
     string lancuchA = "aa" ;
     Console.WriteLine(string.IsNullOrEmpty(lancuchA));
     Console.ReadLine();
  }
}

Oto rezultat działania naszej aplikacji:

Metody klasa String

Rys. Rezultat działania metody IsNullOrEmpty

Metoda zwraca false czyli nasz obiekt klasy String nie jest pusty i nie jest null.
Jeżeli do zmiennej lancuchA przypiszemy spacje metoda IsNullOrEmpty zwróci nam false. Ponieważ nasza zmienna nie jest pusta i nie jest null zawiera spacje:

class Program {
   static void Main() {
      string lancuchA = " " ;
      Console.WriteLine(string.IsNullOrEmpty(lancuchA));
      Console.ReadLine();
   }
}

Oto rezultat działania naszej aplikacji:

Metody klasa String

Rys. Rezultat działania metody IsNullOrEmpty

Metoda IsNullOrWhiteSpace()

Metoda IsNullOrWhiteSpace() jest zbliżona w działaniu do metody IsNullOrEmpty() sprawdza dodatkowo czy obiekt składa się tylko z białych znaków.
Zobaczmy przykład:
Napiszmy prostą aplikacje ze zmienną typu string, która będzie zawierać trzy znaki nowej linii.

class Program {
   static void Main() {
     string lancuchA = "\n\n\n" ;
     Console.WriteLine(string. IsNullOrWhiteSpace (lancuchA));
     Console.ReadLine();
}
}

Rezultat działania naszej aplikacji:

Metody klasa String

Rys. Rezultat działania metody IsNullOrWhiteSpace

W przykładzie powyżej metoda zwraca True ponieważ zmienna lancuchA zawiera tylko trzy znaki nowej linii. Gdybyśmy użyli metodę IsNullOrEmpty() otrzymalibyśmy False.

Metoda Trim()

Metoda Trim() usuwa białe znaki z początki i końca łańcucha znaków.
Zobaczmy przykład:

using System;
   class Program {
      static void Main() {
        string a = "napis1 ";
        string b = " napis2";
        string c = a + b;
        string d = a.Trim() + b.Trim();
        Console.WriteLine(c);
        Console.WriteLine("Po użyciu metody Trim(): " +d);
        Console.ReadLine();
   }
}

W metodzie Main() stworzyłem cztery zmienne typu string. Zmiennej o nazwie a nadałem wartość zawierającą na końcu łańcucha znaków białe znaki. Zmiennej o nazwie b nadałem wartość zawierającą białe znaki na początku łańcucha znaków. W zmiennej o nazwie c połączyłem wartości zmiennych a i b. W zmiennej o nazwie d użyłem podczas łączenia wartości zmiennych a i b metody Trim(). Następnie wyświetliłem wartość zmiennej c i d.
Zobaczmy rezultat działania aplikacji:

Metody klasa String

Rys. Wyświetlenie wartości po użyciu metody Trim()

Wartość zmiennej d jest zmieniona poprzez zastosowanie metody Trim(), zostały usunięte białe znaki z początku i końca łańcuchów znaków a i b.

Metoda TrimStart()

Metoda TrimStart() usuwa białe znaki tylko z początku łańcucha znaków.
Zobaczmy przykład:

using System;
class Program {
    static void Main() {
       string a = " napis1";
       string b = " napis2 ";
       Console.WriteLine("wartość zmiennej a:"+ a);
       Console.WriteLine("wartość zmiennej b:" + a);
       Console.WriteLine("wartość zmiennej a po użyciu metody TrimStart(): " + a.TrimStart() + "koniec");
       Console.WriteLine("wartość zmiennej b po użyciu metody TrimStart(): " + b.TrimStart() + "koniec");
      Console.ReadLine();
    }
}

W metodzie Main() stworzyłem dwie zmienne typu string. Zmiennej o nazwie a przypisałem łańcuch znaków rozpoczynający się od białych znaków. Zmiennej b przypisałem łańcuch znaków, który zaczyna się i kończy białymi znakami. Następnie wyświetliłem na ekranie wartości zmiennych przed użyciem metody TrimStart() i po jej użyciu:
Rezultat działania aplikacji:

Metody klasa String

Rys. Wyświetlenie wartości po użyciu metody TrimStart().

W przypadku zmiennej o nazwie b, która zawiera białe znaki na początku i końcu, usunięte zostały niechciane znaki z początku zmiennej.

Metoda TrimEnd()

Metoda TrimEnd() usuwa białe znaki tylko z końca łańcucha znaków.
Zobaczmy przykład:

using System;
class Program {
    static void Main() {
       string a = "napis1 ";
       string b = " napis2 ";
       Console.WriteLine("wartość zmiennej a:"+ a +"koniec");
       Console.WriteLine("wartość zmiennej b:" + a + "koniec");
       Console.WriteLine("wartość zmiennej a po użyciu metody TrimEnd(): " + a.TrimEnd() + "koniec");
       Console.WriteLine("wartość zmiennej b po użyciu metody TrimEnd(): " + b.TrimEnd() + "koniec");
       Console.ReadLine();
  }
}

W metodzie Main() stworzyłem dwie zmienne typu string. Zmiennej o nazwie a przypisałem łańcuch znaków, który kończy się białymi znakami. Zmiennej b przypisałem łańcuch znaków, który zaczyna się i kończy białymi znakami. Następnie wyświetliłem na ekranie wartości zmiennych przed użyciem metody TrimEnd() i po jej użyciu:

Metody klasa String

Rys. Wyświetlenie wartości po użyciu metody TrimEnd().

W przypadku zmiennej o nazwie b, która zawiera białe znaki na początku i końcu usunięte zostały niechciane znaki z końca zmiennej.
Metody Trim() TrimStart() i TrimEnd() w parametrze wejściowym przyjmują tablicę znaków char. Po ustawieniu tego parametru metody de usuwają z początku/końca znaki znajdujące się w parametrze wejściowym:
Zobaczmy przykład:

using System;
class Program {
    static void Main() {
       string a = "aabbaa";
       Console.WriteLine("wartość zmiennej a:"+ a);
       Console.WriteLine("wartość zmiennej a po użyciu metody Trim(new Char[] {'a'}): " + a.Trim(new Char[] { ' ', 'a' }));
       Console.WriteLine("wartość zmiennej a po użyciu metody TrimStart(new Char[] { 'a'}): " + a.TrimStart(new Char[] { ' ', 'a' }));
       Console.WriteLine("wartość zmiennej a po użyciu metody TrimEnd(new Char[] {'a'}): " + a.TrimEnd(new Char[] { 'a' }));
       Console.ReadLine();
   }
}

Zobaczmy rezultat działania aplikacji:

Metody klasa String

Rys. Rezultat działania aplikacji

W zależności od użycia metody znak a, który był podany w parametrze wejściowym metod został usunięty z początku/końca łańcucha znaków.

Zapraszam do zapoznania się z częścią 2 gdzie zostaną opisane kolejne metody tej klasy. LINK