C# pekere

C# pekere
I C#tildeles pekere for uvanlig og avansert programmering; De brukes normalt når de samhandler med COM -rammen. Pekere støttes bare i begrenset grad i C#. Pekertyper, i motsetning til referansetyper, overvåkes ikke av standard søppelinnsamlingsprosess. Pekere kan bare peke på uhåndterte typer som inkluderer alle grunnleggende enumtyper, datatyper, andre pekertyper og strukturer som bare inkluderer ikke -administrerte typer. Artikkelen vil demonstrere deg tilstrekkelig om C# -pekere.

Hva er pekere i C# i Ubuntu 20.04?

Pekere brukes til å fordele minne dynamisk. Vi kan si at en peker er en variabel som holder adressen til et minneplassering. Det er to deler til hver variabel spesifisert i et program:

  1. Variabel adresse.
  2. Variabel verdi lagret.

Når en uttalelse i C# blir erklært som utrygg med det utrygge nøkkelordet, brukes pekere. Disse uttalelsene, som benytter seg av pekervariabler, styres ikke av søppeloppsamlere.

Å gjøre erklæring om pekere i C# i Ubuntu 20.04

Det påfølgende skriptet er den generelle syntaksen for hvordan du erklærer en pekertype:

type *variabel_navn;
int* p;

Dereferanseoperatøren er betegnet med stjerne -symbolet (*). Verdien fra adressen til hvilke pekerreferanser er anskaffet ved hjelp av Dereference -operatøren. Erklærer “P”, en pekervariabel som har en INT -type adresse. Merk at når en funksjon av kodeblokken er utpekt med den utrygge modifikatoren, kan C# pekervariabler brukes. En kodeblokk der en pekervariabel er erklært er kjent som utrygg kode eller ikke -administrert kode. I Ubuntu 20.04, vi må samle utrygg kode som dette: CS /Usikker filnavn.CS

Hvordan bruke pekere i C# i Ubuntu 20.04

Nøkkelordet er utrygt kan brukes på mange måter. Den kan brukes til å endre en metode, eiendom, konstruktør og så videre. For en bedre forståelse av hvordan tips er erklært på programmeringsspråket C#, bør du vurdere følgende eksempler:

Eksempel 1: Bruke pekere for erklæring i C # i Ubuntu 20.04

Følgende illustrasjon viser hvordan du erklærer og bruker en pekervariabel. Her har vi brukt den utrygge modifisereren. Tegnet * brukes til å erklære pekere implisitt, som i det gitte eksemplet:

Koden begynner med å importere bruks- og navnefilene. Navnetfilen har tildelt navnet “CSharppointers”. Navnefilen har en blokk der vi har definert en klasse “Program1”. I klassen “Program1” har vi utrygge nøkkelord som brukes med hovedfunksjonen. Det utrygge nøkkelordet lar oss bare bruke usikre koder i C#. Deretter har vi erklært to variabler i den utrygge hovedfunksjonen. Den første variabelen tildeles et navn "Verdi" og setter sin type til Int. Variabelen "verdi" er en heltallverdi. Den andre variabelen er representert som "V" av Type Int med Asterisk (*) -symbolet, så det er en pekervariabel av typen heltall. Pekervariabelen har adresseoperatøren (&) brukt med variabelen "Verdien". Som peker vil den returnere verdens adresse. Skriftens uttalelse vil skrive ut verdien og adressen til de spesifiserte variablene.

Vi fikk følgende utdata fra ovennevnte kodeutførelse. Verdien og adressen vises på bildet.

Eksempel 2: Bruke pekere for å få tilgang til matriser i C # i Ubuntu 20.04

En matrise er et sett med data av samme art som bare kjennetegnes ved lagringsrekkefølge. I det følgende C# -programmet åpnes matriser ved hjelp av pekernotasjoner.

Koden demonstreres hvor vi har definert klassen i navneområdet "PointerProgram". Klassen har tildelt et navn “Program2”, og vi har kalt hovedfunksjonen med en utrygg modifiserer. I den utrygge hovedfunksjonen har vi opprettet en referansegruppe av INT-typen som "MyArray". Vi har lagret fem forskjellige verdier i en matrise. Deretter har vi laget en variabel “PTR” med pekernotasjon. Pekervariabelen har lagret en matrise, og vi har festet pekervariabelen med nøkkelordet “Fast”. Det "faste" nøkkelordet begrenser arrayens variabel til en spesifikk minnetildeling. Writeline -uttalelsen brukes til å vise arrayens minneadresse og datatypeverdi.

Som du kan se, vises hvert element i matrisen, så vel som adressen, i utdataene fra ovennevnte kode.

Eksempel nr. 3: Bruke pekere i strukturer i C # i Ubuntu 20.04

I C#er verdyyper de eneste komponentene i strukturer. Pekere brukes bare i strukturer der de primære medlemmene er alle verdistyper. Pekere brukes til å få tilgang til strukturmedlemmer i følgende program skrevet i C#.

Ovennevnte kode har en struktur definert som "ansatt" og i strukturen har vi satt medlemmene "empid" av typen int og "empsalary" av type eiendom dobbelt. Vi har også bygget konstruktøren for strukturen "ansatt" for å initialisere verdier for "empid" og "empsalary" som "x" og "y". Deretter opprettet vi en klasse “program3” som har hovedfunksjonen. I hovedfunksjonen har vi en utrygg etikett som ikke trenger å bruke den utrygge uttalelsen for å innkapsler pekervariablene eller noe annet som er koblet til den, fordi funksjonserklæringen vil gjøre seg selv. Verdiene er satt for medlemmene “Empid” og “Empsalary” i objektet “E1”. Pekeren opprettes for strukturen “ansatt” som “e1_ptr” og initialiserer den med adressen til “E1”.

Skriftens uttalelse brukes til å vise den gitte strukturen "ansatt" detaljer. Vi har brukt en piloperatør med pekerne som fikk tilgang til variablene og metodene for den spesifiserte strukturen.

Ovennevnte programutførelse har følgende utgang vist på terminalskjermen.

Eksempel 4: Bruke pekere i metoder i C # i Ubuntu 20.04

En peker kan også returneres med metodene. Eksemplet som er vist nedenfor har passert pekerne som en parameter til en metode.

Vi har en klasse definert som "program4" i navneområdet fil. Klassen har en hovedfunksjon som "metode" der vi har brukt etiketten "utrygg". Vi har erklært en variabel “A1” og “A2” i den utrygge blokken. Disse variablene initialiseres med heltallverdiene. Vi har laget to tips som “PTR1” og “PTR2” av Type Int. Nå kalles disse pekerne heltallpekervariabler. Vi har gitt adressen til variablene “A1” og “A2” til disse pekerne. Writeline -metoden kalles som vil vise verdien og adressen til de gitte variablene. Deretter har vi en annen klasse "Demo" der vi må erklære et objekt "P" for klassen "Program4". "Metoden" påberopes i denne klassen for å få tilgang til verdien og adressen til medlemmet i "Demo" -klassen.

Vi får den påfølgende utgangen på konsollen etter å ha samlet koden ovenfor.

Konklusjon

Vi har kommet til slutten av artikkelen ved å oppdage at pekere som viser minneadressen blir utført ved hjelp av et utrygt sett med uttalelser. Den utrygge koden er nødvendig fordi søppelsamleren ikke opprettholder hukommelseslokasjoner i et ikke -styrt miljø. Vi har lært måtene å bruke pekere i metoder, strukturer og få tilgang til rekke elementer gjennom de forskjellige illustrasjonene.