learn use c stringbuilder class
У овом упутству су детаљно објашњени класа Ц # СтрингБуилдер и његови методи попут „Додавање, брисање, уклањање, уметање, замена и једнако“, са примерима:
Класа СтрингБуилдер у Ц # ради са низом када је потребна употреба опетованих операција низа.
Низ је непроменљив, тј. Не може се променити. Једном када се створи одређени низ, он се не може променити. Свака промена или ажурирање низа створиће нови објект низа у меморији. Као што је очигледно, ово понашање ће ометати перформансе ако се понављајућа операција изводи на истом низу.
=> Овде погледајте продубљене водиче за обуку за Ц #
унит тест вс тест интеграције вс функционални тест
СтрингБуилдер класа у Ц # има за циљ решавање овог проблема. Омогућава динамичку алокацију меморије, тј. Може проширити број знакова у низу. Не ствара нови меморијски објекат, већ динамички повећава величину меморије да би садржала нове знакове.
Шта ћете научити:
Како иницијализовати Ц # СтрингБуилдер?
СтрингБуилдер се иницијализује слично као и било која друга класа. Класа СтрингБуилдер присутна је у системском простору имена. Текст треба увести у класу ради инстанцирања.
Пример за иницијализацију:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултат горњег програма је:
Здраво
Ц # СтрингБуилдер методе
Класа СтрингБуилдер такође нуди неколико различитих метода за рад на манипулацији низовима.
# 1) Додавање методе
Као што сугерише име, додаје скуп знакова или низ на крају тренутног Стринг Буилдер-а. Веома је корисно за побољшање перформанси када је потребно извршити неколико спајања низова на истом низу.
Пример:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултат горе наведеног програма биће:
Здраво
Здраво Свете
У горе наведеном програму прво смо имали низ дефинисан путем стрингБуилдер. Затим смо користили Аппенд () за спајање другог низа са претходним. Ако извршимо линију кода пре додавања, она има излаз као „Здраво“, али када је додамо и одштампамо резултат, исписат ће „Хелло Ворлд“, тј. Претходни низ са доданим низом.
# 2) Јасан метод
Ова метода уклања све знакове из тренутног СтрингБуилдер-а. Веома је корисно у сценаријима у којима морамо добити празан низ или у којима морамо обрисати податке из променљиве низа.
Пример:
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(); } }
Резултат горњег програма је:
Здраво
Здраво Свете
Када извршимо јасну операцију на СтрингБуилдеру, а затим покушамо да одштампамо резултујући низ. Добићемо вредност црног низа. У горе наведеном програму додали смо вредност у СтрингБуилдер и одштампали смо вредност на конзолу.
Затим смо извели јасну операцију којом смо уклонили сву вредност из СтрингБуилдер-а, након чега је, када смо покушали да штампамо, исписала празну вредност.
# 3) Уклони метод
Уклањање је слично бистром, али са мало разлике. Такође уклања знакове из СтрингБуилдер-а, али то чини у датом опсегу, за разлику од цлеар који уклања све знакове присутне у СтрингБуилдер-у. Уклони се користи кад год сценарио захтева да програм уклони одређени скуп знакова из низа уместо целог низа.
Пример:
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(); } }
Резултат горе наведеног програма биће:
Здраво
Здраво Свете
Хе Ворлд
Уклони прихвата два параметра, први означава почетни индекс, тј. Индекс карактера одакле желите да започнете уклањање. Други параметар такође прихвата цели број који означава дужину, односно дужину знака из којег желите да уклоните.
У горе наведеном програму дали смо почетни индекс као 2 и дужину као три. Дакле, започело је уклањање карактера из индекса 2, тј. Хе’л’ло, а дужину смо дали као три, тако да је програм уклонио три знака из „л“, чиме је уклоњен „л л о“.
# 4) Метода уметања
Уметне један или више знакова унутар низа на датом индексу. Такође омогућава кориснику да одреди колико ће пута низ или знак бити уметнут у СтрингБуилдер. Користи се у условима када је потребно да се знакови убаце у дати низ на одређеној позицији.
Пример:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Резултат горе наведеног програма биће:
Здраво Свете
Хе_инсерт_лло Свет
У горњем програму, метода Уметање користи се за уметање знакова са одређеним индексом. Метода уметања прихвата два параметра. Први параметар је цео број који означава индекс у који треба убацити знакове. Други параметар прихвата знакове које корисник жели да убаци по датом индексу.
# 5) Замените метод
Метода реплаце замењује све појаве наведеног низа у СтрингБуилдеру низом или знаком који је обезбедио корисник. Замењује одређене знакове у одређеном индексу. Може се користити у сценаријима када је потребно да неки од знакова буду замењени другим знаковима.
Пример:
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(); } }
Резултат горњег програма је:
Здраво Свете
здраво свете
У горе наведеном програму користили смо методу замене да бисмо „Здраво“ заменили са „Здраво“. Метода замене прихвата два параметра, први је низ или знакови које желите заменити, а други је низ или знак којима желите да га замените.
# 6) Једнака метода
Као што име сугерише, потврђује да ли је један СтрингБуилдер једнак другима или није. Прихвата СтрингБуилдер као параметар и враћа логичку вредност на основу постигнутог услова једнакости. Овај метод је врло користан ако желите да потврдите услов једнакости за два СтрингБуилдерс.
Пример:
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(); } }
Резултат горе наведеног програма биће:
Нетачно
Истинито
У горњем програму, први и трећи СтрингБуилдер објекти су једнаки, тј. Имају исту вредност. Дакле, када смо изједначили прво са другим, вратило је лажну вредност, али када смо изједначили прво и треће једнаке вратило је тачно.
Закључак
Класа СтрингБуилдер у Ц # користи се за побољшање перформанси тамо где се изводи више операција на низу.
Будући да је непроменљив, кад год се низ модификује, он ствара други објект низа у меморији. СтрингБуилдер има за циљ да то смањи.
Омогућава кориснику да изврши модификацију на истом објекту додељивањем динамичке меморије. То значи да може повећати величину меморије ако је потребно за смештај више података.
=> Овде прочитајте водич за почетнике Ц #
Препоручено читање
- Водич за Ц # низ - Методе низања са примерима кода
- Шта је упоредно тестирање (научите на примерима)
- Водич за функције # методе и методе са примерима кода
- Јава интерфејс и лекција са апстрактним часовима са примерима
- Јава теме са методама и животним циклусом
- Функције датума и времена у Ц ++ са примерима
- Сортирање љуске на Ц ++ са примерима
- Ламбде у Ц ++ са примерима