Uvod v funkcije v C #

V C # je funkcija način pakiranja kode, ki nekaj naredi in nato vrne vrednost. Za razliko od C C ++ in nekateri drugi jeziki funkcije ne obstajajo same od sebe. So del an objektno usmerjen pristop k programiranju.

Program za upravljanje preglednic lahko na primer vključuje funkcijo sum () kot del predmeta.

V C # lahko funkcijo imenujemo članska funkcija - je član razreda -, vendar je ta terminologija ostala od C ++. Običajno ime zanj je metoda.

Metoda Instance

Obstajata dve vrsti metod: metoda primerka in statična metoda. Ta uvod zajema metodo primerka.

Spodnji primer definira preprost razred in ga pokliče Test. Ta primer je preprost ukazni program, zato je to dovoljeno. Običajno mora biti prvi razred, določen v datoteki C #, razred obrazca.

Takšen prazen razred je mogoč razred preizkus {}, vendar ni koristno. Čeprav je videti prazen, je - tako kot vsi razredi C # - podedoval od predmeta, ki ga vsebuje, in vključuje privzeto konstruktor v glavnem programu.

var t = nov test ();

Ta koda deluje, vendar med zagonom ne bo storila ničesar, razen ustvarila primerek

instagram viewer
t praznega preizkusnega razreda. Spodnja koda doda funkcijo, metodo, ki odda besedo "Pozdravljeni."

z uporabo sistema;
imenski prostor funcex1
{
razred Test
{
javna ničnost SayHello ()
{
Konzola. WriteLine ("Pozdravljeni");
}
}
razred program
{
statični void Main (string [] args)
{
var t = nov test ();
t. Reci živijo() ;
Konzola. ReadKey ();
}
}
}

Ta primer kode vključuje Konzola. ReadKey (), torej ko se zažene, prikaže okno konzole in čaka na vnos ključa, kot so Enter, Space ali Return (ne tipke Shift, Alt ali Ctrl). Brez nje bi odprli konzolo Window, oddali "Hello" in nato vse zatisnili na trenutek.

Funkcija Reci živijo je približno tako preprosta funkcija, kot jo lahko imate. To je javna funkcija, kar pomeni, da je funkcija vidna zunaj razreda.

Če besedo odstranite javnosti in poskusite sestaviti koda ne uspe z napako pri sestavljanju "funcex1.test. SayHello () 'je zaradi svoje zaščite nedostopna. "Če besedo" zasebno "dodate tam, kjer je bila beseda javna in jo prekompilirate, dobite isto napako prevajanja. Preprosto ga vrnite v "javno".

Beseda nična v funkciji pomeni, da funkcija ne vrača nobenih vrednosti.

Značilne značilnosti funkcije

  • Stopnja dostopa: javna, zasebna in nekatere druge
  • Povratna vrednost>: void ali kakršna koli vrsta, kot je int
  • Ime metode: SayHello
  • Kakršni koli parametri metode: zaenkrat noben. Te so definirane v oklepajih () za imenom metode

Koda za opredelitev druge funkcije, MyAge (), je:

javni int MyAge ()
{
vrnitev 53;
}

Dodajte to takoj za Reci živijo() metoda v prvem primeru in dodajte ti dve vrstici prej Konzola. ReadKey ().

var starost = t. Moja starost();
Konzola. WriteLine ("David je star {0} let", starost);

Z zagonom programa zdaj dobimo to:

zdravo
David ima 53 let,

The var starost = t. Moja starost(); poziv k metodi vrnil vrednost 53. To ni najbolj uporabna funkcija. Uporabnejši primer je funkcija Vsota preglednic z nizom ints, začetni indeks in število vrednosti, ki jih je treba seštevati.

To je funkcija:

javni float Sum (vrednosti int [], int startindex, int endindex)
{
var skupno = 0;
za (var indeks = startindex; indeks <= endindex; indeks ++)
{
skupno + = vrednosti [indeks];
}
skupni donos;
}

Tu so tri primere uporabe. To je koda, ki jo je treba dodati v Main () in poklicati, da preizkusim funkcijo Sum.

vrednosti var = nov int [10] {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
Konzola. WriteLine (t. Vsota (vrednosti, 0,2)); // Naj bo 6
Konzola. WriteLine (t. Vsota (vrednosti, 0,9)); // naj bo 55
Konzola. WriteLine (t. Vsota (vrednosti, 9,9)); // naj bo 10, ker je 9. vrednost 10

Za For zanka sešteje vrednosti v območju startindex do endindex, tako da je za startindex = 0 in endindex = 2, to je vsota 1 + 2 + 3 = 6. Medtem ko je za 9,9, le doda ene vrednosti [9] = 10.

V tej funkciji je lokalna spremenljivka skupaj inicializirana na 0, nato pa so dodani ustrezni deli vrednosti matrike.

instagram story viewer