ASP.NET - 4. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

ASP.NET - 4. lekceASP.NET - 4. lekce

 

ASP.NET - 4. lekce

Google       Google       6. 9. 2006       16 166×

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

Reklama
Reklama

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.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Alan se věnuje programování webových aplikací a jazyku C++. Studuje na FEI-VŠB v Ostravě

Nové články

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

Obrázek ke článku DistrCut – optimalizace pomocí distribuované inteligence

DistrCut – optimalizace pomocí distribuované inteligence

Optimalizační systémy, které jsem dosud popisoval, se týkaly vždy optimalizace na jednom zařízení. Optimalizovalo se dělení tyčového materiálu na jedné pile, vypalování plošného materiálu na jednom plazmovém stroji, řídilo se tavení na jedné elektrické obloukové peci.

Ve výrobním procesu je však často nutné optimalizovat činnost celého výrobního úseku, kde je více různých objektů odlišného typu a koordinovat činnost těchto objektů k dosažení společného cíle, zpravidla kvality finálního výrobku. Řešení tohoto problému umožňuje distribuovaná inteligence.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý