Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 29. 05. 2009 17:07 — Editoval Downey (29. 05. 2009 17:22)

Downey
Zelenáč
Příspěvky: 12
Reputace:   
 

C# - procedury

zdravim, mohol by som otazku?
potrebujem v c# spravit proceduru s parametrom, aby som ju mohol rekurzivne volat, ale su v nej premenne, ktore su deklarovane v static void Main(string[] args) a vypisuje mi, ze ich nepozna..
mohol by mi niekto napisat, do ktorej casti programu treba dat tu proceduru, radsej aj jej tvar :D fakt sory za taku blbu otazku, ale este sa v c# len ucim :)

Offline

 

#2 29. 05. 2009 18:26

Lukee
Administrátor
Místo: Opava
Příspěvky: 1863
Škola: UPOL, Informatika
Pozice: Roznašeč reklamních bannerů
Web
 

Re: C# - procedury

↑ Downey:
Nejsem si jistý, jestli správně chápu otázku. "args" je argument metody Main(), takže nikde jinde tu referenci na "args" nemáš. Jestli chceš deklarovat metodu, která používá ty vstupní "args", pak musí mít jako jeden z argumentů "string[] neco" a při volání metody mu "args" předáš jako parametr. Druhá možnost je, že si vstupní args v Main uložíš do nějaké proměnné.


2+2=4

Offline

 

#3 29. 05. 2009 18:42 — Editoval Downey (29. 05. 2009 18:44)

Downey
Zelenáč
Příspěvky: 12
Reputace:   
 

Re: C# - procedury

no teraz som trochu mimo
mam to takto

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

             //len tu mam cely program aj spolu s deklaracoiu premennych

        }
    }
}

ak som spravne nasiel a pochopil, tak procedura sa pise ako void nieco(pripadne parametre)
v takom tvare som to dal najprv medzi class.. a static void Mian... ale nepoznal premenne a ked som to dal do static void Main.. tak tam mi to vobec nezobralo
to je chyba, ze neviem vobec, ako to zapisat a kam

Offline

 

#4 29. 05. 2009 18:54

Lukee
Administrátor
Místo: Opava
Příspěvky: 1863
Škola: UPOL, Informatika
Pozice: Roznašeč reklamních bannerů
Web
 

Re: C# - procedury

↑ Downey:
Já jsem to předtím asi pochopil trochu jinak, než jak jsi to myslel.

ak som spravne nasiel a pochopil, tak procedura sa pise ako void nieco(pripadne parametry)

Jako první bych se zkusil přeorientovat na C# pojmenování. Procedura v C# neexistuje, C# má jen metody. Ať už metoda něco vrací nebo nevrací, tak je to prostě metoda. To vychází z toho, že C# je plně objektový jazyk.

v takom tvare som to dal najprv medzi class.. a static void Mian... ale nepoznal premenne a ked som to dal do static void Main.. tak tam mi to vobec nezobralo

To je vcelku logické -- Main je metoda jako každá jiná, takže pokud deklaruješ nějakou proměnnou v jedné metodě, jiná metoda ji prostě neuvidí. Máš v zásadě dvě možnosti, jak to zprovoznit, o obou už jsem se zmiňoval jinde:

1) Předat potřebné proměnné jako argument. Dejme tomu, že máš v Main() dvě čísla, která chceš té metodě předat. Pak to můžeš udělat takto:

Code:

public void Metoda(int a, int b)
{ kód metody }

V metodě Main() pak zavoláš Metoda(nejakeCislo, jineCislo);

2) Vlastnost třídy. Můžeš udělat něco takového:

Code:

namespace ConsoleApplication1
{
    class Program
    {
        public static int a;
        public static int b;

        static void Main(string[] args)
        {
               a = 10;
               b = 20;
        }
     
        public static void Metoda()
        {
              return a * b;
        }
    }
}

2+2=4

Offline

 

#5 29. 05. 2009 22:15

Downey
Zelenáč
Příspěvky: 12
Reputace:   
 

Re: C# - procedury

↑ Lukee:
diki, moc si mi pomohol :) uz to mam :)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson