Diskuze: použití proměny z cyklu mimo cyklus
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Jakýkoliv cyklus po svém ukončení všechny své (teda v sobě založené)
proměnné zruší. Musíš ji teda založit ještě před cyklem.
Jestli chceš ověřit, že jméno není jenom hromada mezer nebo prázdné,
použij
String.IsNullOrWhiteSpace(uzJmeno)
To nedělá jenom cyklus, ale jakýkoliv Scope. Za scope se považuje Třída, funkce, cyklus, podmínka, ale třeba i jenom když napíšeš toto:
void someFunction() {
int a = 0;
{ // Vytvoření nového scope
int b = 6;
}
int c = a+b; // Tady to zařve, protože proměnná b není definována
}
Díky za upřesnění, třeba u podmínek jsem si nebyl jistý, u tříd a
funkcí to beru jako samozřejmost a o tom "blíže neurčeném" scope jsem
vůbec nevěděl
Děkuji takto už mi to funguje.
Console.WriteLine("Prosím proveďte registraci");
Console.Write("Zadejte Už.jméno:");
string uzJmeno = "";
bool jmeno = true;
while (jmeno)
{
uzJmeno = Console.ReadLine();
if (String.IsNullOrWhiteSpace(uzJmeno))
{
Console.WriteLine("Už.jméno je poviný údaj!");
Console.Write("Prosím zadejte platné Už.jméno:");
}
else
{
jmeno = false;
}
}
Console.Write("Nyní napište heslo:");
string heslo1 = "";
bool heslo = true;
while (heslo)
{
heslo1 = Console.ReadLine();
if (String.IsNullOrWhiteSpace(heslo1))
{
Console.WriteLine("Heslo je poviný údaj!");
Console.Write("Prosím zadejte platné heslo:");
}
else
{
heslo = false;
}
}
Console.WriteLine("Úspěšně jste se zaregistrovali.");
Console.WriteLine("Vaše užJmeno je {0} a vaše heslo je {1}.", uzJmeno, heslo1);
Console.ReadKey();
Zobrazeno 5 zpráv z 5.