Ievads funkcijās C ​​#

C # kategorijā funkcija ir koda iesaiņošanas veids, kas kaut ko izdara un pēc tam atgriež vērtību. Atšķirībā no C C ++ un dažas citas valodas, funkcijas neeksistē pašas par sevi. Viņi ir daļa no objektorientēta pieeja programmēšanai.

Piemēram, programmā izklājlapu pārvaldīšanai kā objekta sastāvdaļa var būt funkcija summa ().

C # kategorijā funkciju var saukt par biedra funkciju - tā ir klases biedre -, bet šī terminoloģija paliek pāri no C ++. Parastais nosaukums tam ir metode.

Gadījuma metode

Pastāv divu veidu metodes: instanču metode un statiskā metode. Šis ievads aptver gadījumu metodi.

Zemāk sniegtais piemērs definē vienkāršu klasi un to sauc Pārbaude. Šis piemērs ir vienkārša konsoles programma, tāpēc tas ir atļauts. Parasti pirmajai klasei, kas definēta C # failā, jābūt formas klasei.

Iespējams, ka ir tukšas klases klases pārbaude {}, bet tas nav noderīgi. Lai arī tas izskatās tukšs, tas, tāpat kā visas C # klases, manto no objekta, kurā tas atrodas, un ietver noklusējumu konstruktors galvenajā programmā.

instagram viewer
var t = jauns tests ();

Šis kods darbojas, taču palaišanas laikā tas neko nedarīs, izņemot gadījuma izveidošanu t tukšās testa klases. Zemāk esošais kods pievieno funkciju - metodi, kas izvada vārdu “Sveiki”.

izmantojot Sistēmu;
nosaukumvieta funcex1
{
klases ieskaite
{
sabiedrības Void SayHello ()
{
Konsole. WriteLine ("Sveiks");
}
}
klases programma
{
static void Main (virkne [] args)
{
var t = jauns tests ();
t. Pasaki Sveiki() ;
Konsole. ReadKey ();
}
}
}

Šajā koda piemērā ietilpst Konsole. ReadKey (), tāpēc, kad tas darbojas, tas parāda konsoles logu un gaida atslēgas ierakstu, piemēram, Enter, Space vai Return (nevis taustiņu Shift, Alt vai Ctrl). Bez tā tas atvērtu konsoles logu, izvadītu “Sveiks” un pēc tam visu aizvērtu acumirklī.

Funkcija Pasaki Sveiki ir gandrīz tikpat vienkārša funkcija, kāda jums var būt. Tā ir publiska funkcija, kas nozīmē, ka funkcija ir redzama ārpus klases.

Ja vārdu noņemat publiski un mēģiniet sastādīt kodu, tas neizdodas ar kompilācijas kļūdu “funcex1.test. SayHello () 'ir nepieejams tā aizsardzības līmeņa dēļ. "Ja pievienojat vārdu“ privāts ”tur, kur bija vārds publisks, un atkārtoti kompilējat, tiek parādīta tāda pati kompilācijas kļūda. Vienkārši mainiet to uz “publisks”.

Vārds tukšums funkcija nozīmē, ka funkcija neatdod nekādas vērtības.

Raksturīgās funkcijas noteikšanas pazīmes

  • Piekļuves līmenis: publisks, privāts, kā arī daži citi
  • Atgriešanās vērtība>: nav spēkā vai jebkura veida, piemēram, int
  • Metodes nosaukums: SayHello
  • Jebkuri metodes parametri: pagaidām nav. Tie ir definēti iekavās () aiz metodes nosaukuma

Citas funkcijas MyAge () definīcijas kods ir:

public int MyAge ()
{
atgriezties 53;
}

Pievienojiet šo uzreiz aiz Pasaki Sveiki() metodi pirmajā piemērā un pievienojiet šīs divas rindiņas pirms tam Konsole. ReadKey ().

var vecums = t. MyAge ();
Konsole. WriteLine ("Dāvidam ir {0} gadu", vecums);

Tagad, palaižot programmu, tiek iegūts šāds rezultāts:

Sveiki
Dāvidam ir 53 gadi,

var vecums = t. MyAge (); izsaukums uz metodi atdeva vērtību 53. Tā nav visnoderīgākā funkcija. Noderīgāks piemērs ir izklājlapas funkcija Sum ar masīvu ints, sākuma indekss un summējamo vērtību skaits.

Šī ir funkcija:

public float Sum (int [] vērtības, int startindex, int endindex)
{
var kopā = 0;
for (var indekss = startindex; indekss <= endindex; indekss ++)
{
kopā + = vērtības [indekss];
}
atgriešanās kopsumma;
}

Šeit ir trīs lietošanas gadījumi. Šis ir kods, kas jāpievieno mapē Main () un jāizsauc, lai pārbaudītu funkciju Sum.

var vērtības = jauns int [10] {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
Konsole. WriteLine (t. Summa (vērtības, 0,2)); // Vajadzētu būt 6
Konsole. WriteLine (t. Summa (vērtības, 0,9)); // vajadzētu būt 55
Konsole. WriteLine (t. Summa (vērtības, 9,9); // jābūt 10, jo 9. vērtība ir 10

Par cilpa saskaita vērtības diapazonā startindex līdz endindex, tāpēc startindex = 0 un endindex = 2, tā ir 1 + 2 + 3 = 6 summa. Tā kā 9,9, tas tikai pievieno vienu vērtību [9] = 10.

Funkcijas ietvaros kopējais lokālais mainīgais tiek inicializēts līdz 0 un pēc tam tiek pievienotas masīva vērtību attiecīgās daļas.

instagram story viewer