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ść.