Edycja dużych stringów w C#

Jeden poprzedni wpis dotyczył obsługi, edycji danych tekstowych – stringów. Lecz pewnie zauważyłeś, że przy dużych ilościach danych program który został utworzony zaczyna powoli działać i zużywa dużą ilość pamięci. Jest to prawdopodobnie związane z obsługą dużej ilości danych – można powiedzieć że z nieodpowiednią obsługą. Stosowanie poniższych komend spowoduje optymalizację, w pewnym zakresie naszego kodu.

Funkcje opisane w poprzednim wpisie zużywają dużo pamięci i powodują znaczne opóźnienia w działaniu naszej aplikacji. Aby tą obsługę zoptymalizować można, a nawet powinno się wykorzystać metody z obiektu StringBuilder znajdujący się w przestrzeni nazw String.Text

  • Chars[Int32]

Odczytuje lub ustawia znak w podanej lokalizacji

  • Length

Odczytuje długość łańcucha znaków.

int32 dlugosc = obiekt_stringBuilder.Length;
  • Append

Dołącza dany ciąg znaków do istniejącego już ciągu znaków. Czyli po ludzku dodaje tekst do istniejącego już tekstu.

obiekt_stringBuilder.Append("dodaje").Append(" nowy ").Append("ciąg znaków");
  • AppendJoin

Dołącza dany ciąg znaków przy użyciu podanego łącznika.

obiekt_stringBuilder.AppendJoin('-', "Nowe znaki");
  • AppendLine

Dołącza podany tekst, z zastosowaniem nowej linii.

obiekt_stringBuilder.AppendLine("Nowe znaki w nowej lini");
  • Clear

Usuwa cały łańcuch znaków.

obiekt_stringBuilder.Clear();
  • CopyTo

Kopiuje znaki do wskazanego miejsca z wskazanego łańcucha

obiekt1_stringBuilder.CopyTo(0, obiekt2_stringBuilder, 5);
  • Equals

Porównuje dwa ciągi znaków – jeżeli są takie same, zwraca true, w przeciwnym razie zwraca false.

bool spr = obiekt1_stringBuilder.Equals(obiekt2_stringBuilder);
  • Insert

Wstawia w określone miejsce dany ciąg znaków.

obiekt_stringBuilder.Insert(3, "to" , 5);
  • Remove

Usuwa określoną ilość znaków z danego łańcucha.

obiekt_stringBuilder.Remowe(20, 5);
  • Replace

Zastępuje określone znaki nowymi znakami.

obiekt_stringBuilder.Replace("zamien to", "na to");
  • ToString

Konwertuje StringBuilder na String

obiekt_stringBuilder.ToString();

Aby możliwe było wykorzystanie String Buildera należy wykorzystać konstruktor, tak samo jak ma to miejsce przy tworzeniu wartość typu String:

StringBuilder obiekt_stringBuilder =     new StringBuilder();

Pozostałe metody wraz z dokładniejszym opisem klasy String.text stringbuilder można znaleźć w dokumentacji znajdującej się na stronie microsoftu

Przepraszam za błędne nazywanie metod funkcjami, oraz stosowanie nieodpowiedniego nazewnictwa. Pozostała naleciałość z C, oraz C++. W razie błędów proszę o poprawianie mnie. Dzięki za wyrozumiałość.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *