Diskuze: Stringbuilder-jak na něj?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
pravděpodobně vidím, že problém je v logice tvého cyklu. Po prvním nálezu ***, ukončíš cycelou funkci
string result = reader.ReadLine();
string line = String.Empty;
string prevLine = string.Empty;
while ((line = file.ReadLine()) != null) //můžeš napsat třeba takto
{
int startIndex = 21;
int length = 9;
if (line.Contains("***"))
{
result += prevLine .Substring(startIndex, length);
}
else
{
prevLine = line;
}
}
return result ;
Kdybys to chtěl použít se stringbuilderem:
int startIndex = 21;
int length = 9;
StringBuilder result = StringBuilder ();
string line = String.Empty; //aktuálně čtený řádek
string prevLine = string.Empty; //předchozí řádek
while ((line = file.ReadLine()) != null) //čteme celý soubor
{
if (line.Contains("***")) //aktuální řádek obsahuje ***
{
//nezapomen kontrolovat jestli string je dostatecne dlouhy, pro substring, jinak bude výjímka
result.Append(prevLine .Substring(startIndex, length)); //nalzený text přidáme do výsledku
}
prevLine = line;
}
return result.ToString() ;
Kdyby něco napiš.
Nicméně doporučuji si pak projít kód a třeba si do komentářů napsat,
co to má dělat. Předpokládám, že by jsi tu chybu taky časem objevil
Zobrazeno 5 zpráv z 5.