× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

ASP.NET - 4. lekce

[ http://programujte.com/profil/733-alan-fuks/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       6. 9. 2006       18 937×

Dneska si ukážeme, jak používat výjimky if/else/elseif a cyklus for.

If/Else/ElseIf

If slouží jako podmínka, „Pokud něco platí, tak udělej tohle“.

Použití:

Visual Basic:

If podmínka Then
	tak udělej tohle
End If

C#:

if(podmínka){
	tak udělej tohle;
}

Příklad:

Visual Basic:

If x = 6 Then
	Response.Write("x je 6!")
End If

C#:

if(x == 6){
	Response.Write("x je 6");
}

Tady si musíte dávat pozor u C#, v podmínce if je 2× rovná se, to z toho důvodu, že proměnné x nepřiřazujete žádné číslo, ale pouze srovnáváte hodnoty!

Else nám poslouží, když se nekoná podmínka. Je nepovinný, a pokud nebude v kódu uveden, kód v podmínce if bude přeskočen.
Příklad:

Visual Basic:

If x = 6 Then
	Response.Write("x je 6")
Else
	Response.Write("x není 6")
End If

C#:

if(x == 6){
	Response.Write("x je 6");
}
else{
	Response.Write("x není 6");
}

Visual Basic.NET nabízí ještě jednu vychytávku, a to příkaz ElseIf:

If x = 6 Then
	Response.Write("x je 6")
ElseIf x = 7 Then
	Response.Write("x je 7")
Else
	Response.Write("x není ani 6, ani 7!")
End If

ElseIf bohužel C# nemá, ale to moc nevadí, jelikož se dá nahradit vložením příkazu if do příkazu else:

int x = 5;

if(x == 6){
	Response.Write("x je 6!");
}
else{
	if(x == 7){
		Response.Write("x je 7");
	}
	else{
		Response.Write("x neni 6 ani 7!");
	}
}

Někdy určitě budete potřebovat zjistit podmínkou, jestli platí to a to, popřípadě to nebo to. V tom případě je na místě použít logické operátory. Ve VB to jsou and (a) a or (nebo), v C# to je && (a) a || (nebo).

Příklad:

Visual Basic:

Dim x as Integer = 6
Dim y as Inreger = 7

If x = 8 or y = 8 Then
	Response.Write("X nebo Y je 8!")
End If

C#:

If(x == 8 || y == 8){
	Response.Write("X nebo Y je 8!");
}

Cyklus For

Cyklus for použijeme, když chceme něco opakovat, než nějaká proměnná nabude určité hodnoty:

Visual Basic:

For promenna = pocatecni hodnota To konec hodnota
	prikazy v Cyklu….
Next promenna

C#:

for(promenna = pocatecni hodnota;ukoncovaci podmínka;zvetseni/zmenseni promenne){
	prikazy v Cyklu….
}

Příklad:

Visual Basic:

Dim i as Integer
For i = 1 To 6
  Response.Write("Zdravím vás, dnes už po "+i.toString()+".<br>")
Next i

Nastavíme proměnnou i hodnotu 1 a necháme ji opakovat, dokud není rovna hodnotě 6. Poté necháme vypsat text a nakonec zvětšíme proměnnou o 1.

C#:

int i;

for(i = 1;i <= 6;i++){
	Response.Write("Zdravím vás, dnes už po "+i+".<br>");
}

Nejdříve nastavíme proměnnou i na 1, poté ji necháme opakovat dokud není menší nebo rovna 6 a pak nastavíme, že se má hodnota i zvětšovat (i++ znamená i = i + 1). Následně už jen vypíšeme text.

Není pro nás problém nastavit, aby se hodnota zmenšovala:

Visual Basic:

For i=6 To 1 Step -1
	Response.Write("Zavodník už jede "+i.toString()+". kolo<br>")
Next i

A v C#:

for(i = 6;i >= 1;i--){
	Response.Write("Závodník už jede "+i+". kolo<br>");
}

A nakonec jeden lehký příklad, kdybyste něco nepochopili:

Visual Basic:

<%@ Page Language="VB" %>
<script runat="server">

Sub ukazJmena(sender As Object, e As EventArgs)

    Dim i as Integer
    Dim kolik as Integer
    Dim jmeno as String
    Dim opacne as String

	jmeno = txtJmeno.Text
	opacne = txtOpacne.Text
         kolik = Int32.Parse(txtKolik.Text) //prevedeme ze String na Integer

	for i=1 To kolik
		Response.Write("("+i.toString()+"): Jmenujete se "+jmeno+"!<br>")

	Next i

	Response.Write("<br>")

	if opacne = "0" Then
		for i=kolik To 1 Step -1
			Response.Write("("+i.toString()+"): Jmenujete se "+jmeno+"!<br>")

		Next i

	ElseIf opacne = "1" Then
	       Response.Write("::nepral jste si vypsat cyklus opacne::")

	End If

	Response.Write("<hr>")

End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
	Kolikrát chcete jméno vypsat: <asp:TextBox id="txtKolik" runat="server" /><br>
        Zadejte jméno, které chcete vypsat: <asp:TextBox id="txtJmeno" runat="server" /><br>
	Chcete nechat cyklus vypsat opacne(0=ano,1=ne): <asp:TextBox id="txtOpacne" runat="server" /><br>
        <asp:button id="pozdravit" onclick="ukazJmena" runat="server" text="pozdrav" /><br>
    </form>
</body>
</html>

A to samé v C#:

<%@ Page Language="C#" %>
<script runat="server">
    void ukazJmena(object sender,EventArgs e){
	int i,kolik;
	string jmeno,opacne;

	jmeno = txtJmeno.Text;
	opacne = txtOpacne.Text;
	kolik = Int32.Parse(txtKolik.Text); // prevedeme ze string na int

	for(i=1;i<=kolik;i++){
		Response.Write("("+i+"): Jmenujete se "+jmeno+"!<br>");

	}

	Response.Write("<br>");
	if(opacne == "0"){
		for(i=kolik;i>=1;i--){
			Response.Write("("+i+"): Jmenujete se "+jmeno+"!<br>");

		}
	}
	else{
	   if(opacne == "1"){
	       Response.Write("::nepral jste si vypsat cyklus opacne::");

	   }
	}

	Response.Write("<hr>");

    }

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
	Kolikrat chcete jmeno vypsat: <asp:TextBox id="txtKolik" runat="server" /><br>
        Zadejte jméno, které chcete vypsat: <asp:TextBox id="txtJmeno" runat="server" /><br>
	Chcete nechat cyklus vypsat opacne(0=ano,1=ne): <asp:TextBox id="txtOpacne" runat="server" /><br>
        <asp:button id="pozdravit" onclick="ukazJmena" runat="server" text="pozdrav" /><br>
    </form>
</body>
</html>

Doufám, že je vám to vše jasné, příště se podíváme na cykly while, do-while a příkaz switch.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006082605-asp-net-4-lekce/ ].