Трансформисање стрингова - квиз¶
- стринг
- Не.
- низ карактера
- Не.
- градитељ стринга (string builder)
- Тачно!
- стринг, низ и градитељ стринга су једнако добри избори
- Не.
Q-121: Током рада програма прикупљате текстуалне описе обављених поступака, које ћете на крају уписати у лог фајл, за који се очекује да ће имати неколико мегабајта текста. Шта је од понуђеног најбоље користити за прикупљање поменутих описа?
- Може да врати нетачан резултат.
- Може да изазове пуцање програма.
- Може да се извршава бесконачно (да упадне у мртву петљу).
- Неефикасан је.
Q-122: Дати метод треба да врати стринг без водећих размака. Означити све тачне реченице о овом методу.
static string IzbaciRazmakeNaPocetku(string s)
{
while (s[0] == ' ')
s = s.Remove(0, 1);
return s;
}
- Оба начина су врло брза
- Не.
- Оба начина су врло спора
- Тачно!
- Први начин је врло брз а други врло спор
- Не.
- Први начин је врло спор а други врло брз
- Не.
Q-123: Шта можемо рећи о два дата метода који формирају стринг састављен од n понављања датог стринга s?
static string Ponovi1(string s, int n)
{
string rez = "";
for (int i = 0; i < n; i++)
rez = rez.Insert(0, s);
return rez;
}
static string Ponovi2(string s, int n)
{
string rez = "";
for (int i = 0; i < n; i++)
rez = rez.Insert(rez.Length, s);
return rez;
}
- IzbaciRazmake1
- IzbaciRazmake2
- IzbaciRazmake3
- IzbaciRazmake4
Q-124: Дати методи враћају стринг са изостављеним размацима. Који од њих су неефикасни (означити све тачне одговоре)?
static string IzbaciRazmake1(string s)
{
return s.Replace(" ", "");
}
static string IzbaciRazmake2(string s)
{
string rez = "";
foreach (char c in s)
if (c != ' ') rez += c;
return rez;
}
static string IzbaciRazmake3(string s)
{
int i = 0;
while (i < s.Length)
if (s[i] == ' ') s = s.Remove(i, 1);
else i++;
return s;
}
static string IzbaciRazmake4(string s)
{
StringBuilder sb = new StringBuilder();
foreach (char c in s)
if (c != ' ') sb.Append(c);
return sb.ToString();
}