learn use c stringbuilder class
Този урок обяснява в детайли класа C # StringBuilder и методите му като Добавяне, Изчистване, Премахване, Вмъкване, Замяна и Равенство в детайли с примери:
StringBuilder клас в C # работи с низа, когато се изисква използването на повтарящи се операции с низове.
Низът е неизменен, т.е.не може да бъде променен. След като определен низ е създаден, той не може да бъде променен. Всяка промяна или актуализация на String ще създаде нов низ обект в паметта. Както е очевидно, това поведение ще попречи на производителността, ако повтарящата се операция се изпълнява на същия низ.
=> Вижте тук уроците за обучение за дълбочина C #
Класът StringBuilder в C # има за цел да реши този проблем. Той позволява динамично разпределение на паметта, т.е.може да разшири броя на символите в низа. Той не създава нов обект в паметта, а динамично увеличава размера на паметта, за да съдържа нови символи.
Какво ще научите:
Как да инициализирам C # StringBuilder?
StringBuilder се инициализира подобно на всеки друг клас. Класът StringBuilder присъства в системното пространство на имената. Текстът трябва да бъде импортиран в класа за инстанциране.
Пример за инициализация:
class Program { public static void Main(string[] args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултатът от горната програма е:
Здравейте
Методи на C # StringBuilder
Класът StringBuilder също предлага няколко различни метода за работа по манипулиране на низове.
# 1) Добавяне на метод
Както се предлага от името, той добавя набор от символи или низ в края на текущия String Builder. Много е полезно за подобряване на производителността, когато се изискват няколко конкатенации на низове за един и същи низ.
отваряне на .jar файлове на Windows 10
Пример:
class Program { public static void Main(string[] args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултатът от горната програма ще бъде:
Здравейте
Здравей свят
В горната програма първо имахме низ, дефиниран чрез stringBuilder. След това използвахме Append (), за да свържем друг низ с предишния. Ако изпълним кодовия ред преди добавяне, той има изхода като 'Hello', но след като го добавим и отпечатаме резултата, той ще отпечата 'Hello World', т.е. предишния низ с добавения низ.
# 2) Ясен метод
Този метод премахва всички символи от текущия StringBuilder. Много е полезно в сценарии, когато трябва да получим празен низ или където трябва да изчистим данните от променлива на низ.
Пример:
class Program { public static void Main(string[] args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултатът от горната програма е:
Здравейте
Здравей свят
Когато извършим ясна операция на StringBuilder и след това се опитаме да отпечатаме получения резултат. Ще получим стойност на черен низ. В горната програма добавихме стойността в StringBuilder и отпечатахме стойността в конзолата.
След това извършихме ясна операция, която премахна цялата стойност от StringBuilder, след което, когато се опитахме да отпечатаме, тя отпечата празна стойност.
# 3) Премахване на метод
Remove е подобен на clear, но с малка разлика. Той също така премахва символите от StringBuilder, но го прави в рамките на даден диапазон за разлика от clear, който премахва всички символи, присъстващи в StringBuilder. Премахването се използва винаги, когато сценарият изисква програмата да премахне определен набор от символи от низа вместо от целия низ.
Пример:
class Program { public static void Main(string[] args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултатът от горната програма ще бъде:
Здравейте
Здравей свят
Той Свят
Remove приема два параметъра, първият означава началния индекс, т.е.индекс на знака, откъдето искате да започнете да премахвате. Вторият параметър също приема цяло число, което означава дължина, т.е.дължината на символа, от който искате да премахнете.
В горната програма предоставихме началния индекс като 2 и дължина като три. И така, той започна да премахва символа от индекс 2, т.е. He’l’lo и ние дадохме дължината като три, така че програмата премахна три символа от „l“, като по този начин „l l o“ беше премахната.
# 4) Метод на вмъкване
Той вмъква един или повече символа вътре в низа при дадения индекс. Той също така позволява на потребителя да посочи колко пъти низът или символът трябва да бъдат вмъкнати в StringBuilder. Използва се в условията, при които се изисква символите да бъдат вмъкнати в дадения низ на определена позиция.
Пример:
class Program { publicstaticvoid Main(string[] args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултатът от горната програма ще бъде:
Здравей свят
He_insert_llo Свят
В горната програма методът Insert се използва за вмъкване на символи с определен индекс. Методът на вмъкване приема два параметъра. Първият параметър е цяло число, което означава индекса, където трябва да се вмъкнат символите. Вторият параметър приема символи, които потребителят иска да вмъкне при дадения индекс.
# 5) Метод за замяна
Методът заменя замества всички появявания на посочения низ в StringBuilder от низа или символа, предоставени от потребителя. Той заменя конкретни символи при определен индекс. Може да се използва в сценарии, при които някои от символите трябва да бъдат заменени с друг знак.
Пример:
class Program { public static void Main(string[] args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултатът от горната програма е:
Здравей свят
Здравей свят
В горната програма използвахме метода Replace, за да заменим “Hello” с “Hi”. Методът замяна приема два параметъра, първият е низът или символите, които искате да замените, а вторият е низът или символът, с който искате да го замените.
# 6) Равен метод
Както подсказва името, тя проверява дали един StringBuilder е равен на други или не. Той приема StringBuilder като параметър и връща булева стойност въз основа на постигнатото условие за равенство. Този метод е доста полезен, ако искате да проверите условието за равенство за два StringBuilders.
Пример:
class Program { public static void Main(string[] args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
Резултатът от горната програма ще бъде:
Невярно
Вярно
В горната програма първият и третият обект StringBuilder са равни, т.е.те имат еднаква стойност. Следователно, когато приравнихме първо с второто, то върна фалшива стойност, но когато приравнихме първото и третото равни, върна истина.
Заключение
Класът StringBuilder в C # се използва за подобряване на производителността, когато се извършват множество операции върху низ.
Тъй като е неизменен, винаги когато даден низ е модифициран, той създава друг низ обект в паметта. StringBuilder има за цел да намали това.
Позволява на потребителя да извършва модификация на същия обект чрез разпределяне на динамична памет. Това означава, че може да увеличи размера на паметта, ако е необходимо, за да побере повече данни.
=> Прочетете ръководството за начинаещи C # тук
Препоръчително четене
- Инструкция за C # String - Методи за низове с примери за кодове
- Какво е сравнително тестване (научете с примери)
- Урок за функции / методи на C # с примери за кодове
- Урок за интерфейс на Java и абстрактен клас с примери
- Java нишки с методи и жизнен цикъл
- Функции за дата и час в C ++ с примери
- Сортиране на черупката в C ++ с примери
- Ламбди в C ++ с примери