Witam,
Nie zbyt wiem, jak poprawnie stworzyć mapę wartości wyczytanych z plików i użyć ich w programie do kodowania słów metodą - znak po znaku.
Zrobiłem coś takiego:
string[] lines = System.IO.File.ReadAllLines(@"C:\przetlumaczone.txt");
foreach (string line in lines)
{
string[] dane = Regex.Split(line, "->");
Dictionary<string, string> mapa = new Dictionary<string, string>();
mapa.Add(dane[0], dane[1]);
}
I pytanie czy to jest dobrze ? i co dalej ?
Mój słowik w txt wygląda tak:
a -> $
b -> #
c -> !
itd. Czyli jak podam do kodowania słowo abb to dostanę $## jak do odkodowania !## to dostanę cbb
Mam to zrealizowane na drzewku IF'ów, ale ich jest w sumie ponad 200, to może tą metodą byłoby lepiej.
Koduję tak:
string cos = textBox3.Text;
string wynik = "";
for (int i = 0; i < cos.Length; i++)
{
if (cos[i] == '\n') wynik+= '\n';
if (cos[i] == ' ') wynik += " ";
if (cos[i] == 'a') wynik += "$";
// itd
}
To jak by to wyglądało wykorzystując mapę którą piszę ? No i czy w ogóle poprawnie się za nią zabieram ?