Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 11. diel - Textové reťazce v C# druhýkrát - Práca s jednotlivými znakmi

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
flower-go
Člen
Avatar
flower-go:16.9.2013 21:30

Ať dělám, co dělám (a to včetně toho, že jsem si stáhla řešení), vypisuje to spoustu chyb ( nelze najít 's', nelze použít ++,etc...); Kde je chyba ?
(úpravu podle Jan.Nygdo jsem také zkoušela... :( čím to ?

Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na flower-go
Jan Vargovský:16.9.2013 21:40

Nám pošli kód a my se nato podíváme :)

Avatar
Petr Čech
Tvůrce
Avatar
Petr Čech:5.10.2013 19:08

Nepísmenný znak = entita (?) o_O

Odpovedať
the cake is a lie
Avatar
Neaktivní uživatel:9.11.2013 11:32

V Cézarově šifře je chyba - "cernediryjsou­tamkdebuhdelil­nulou"
by mělo být - "cernediryjsou­tamkdepudedelit­nulou"
Jen minimální připomínka, doufám že nejsem tady jediný perfekcionista :D

Odpovedať
Neaktivní uživatelský účet
Avatar
Petr.M
Člen
Avatar
Petr.M:21.11.2013 8:40

Prosím o radu, jaký je rozdíl mezi

int a = 84;
char z = Convert.ToChar(a);

a

int a = 84;
char z = (char)a;

Při výstupu se to tváří stejně.

Editované
Odpovedať
Sometimes you just do things. - Scott Jurek
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Petr.M
Jan Vargovský:21.11.2013 8:50

Je to vpodstatě to samé. Jednou to přetypuješ a jednou zkonvertuješ.

Avatar
coells
Tvůrce
Avatar
Odpovedá na Petr.M
coells:21.11.2013 9:55

Pokud máš následující kód:

int i = -1;
char c = (char)i;
char d = Convert.ToChar(i);

Pak v prvním případě dojde ke konverzi a přetypování, kdy se děje následující:

  1. int má velikost 4 byty
  2. char má velikost 2 byty
  3. vezme se hodnota int a horní 2 byty se useknou (konverze)
  4. dolní dva byty se uloží do charu (přetypování)

Ve druhém případě se vyvolá bezpečná konverze, která kontroluje obsah intu a přetečení. Poté se přejde na první případ:

public static class Convert
{
    public static char ToChar(int value)
    {
      if (value < 0 || value > (int) ushort.MaxValue)
        throw new OverflowException();
      else
        return (char) value;
    }
}

Takže obsah 'c' bude 65535 a na dalším řádku dojde k výjimce.

Editované
Avatar
Johny Lewis
Nevyplnené
Avatar
Johny Lewis:4.1.2014 17:58

Je nějaký rozdíl mezi touto verzí

int i = (int)c;
i += posun;
char znak = (char)i;
zprava += znak;

a touto verzí (char znak jsem nahradil již definovaným c)

int i = (int)c;
i += posun;
c = (char)i;
zprava += c;
Avatar
Johny Lewis
Nevyplnené
Avatar
Odpovedá na
Johny Lewis:4.1.2014 18:01

Tak se omlouvám, myslel jsem si, že je to to samé, ale až nyní jsem to vyzkoušel a zjistil jsem, že se pak program ani nespustí :)

Avatar
Dominik Čoupek:14.1.2014 16:46

Opět velice zajímavý článek. Díky :-)

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 115.