C# String interpolasjon

C# String interpolasjon

Streng interpolasjon er prosessen med å erstatte eller erstatte variablene i plassholderne som er til stede inne i strengen. Det er en prosess å injisere verdiene i plassholderen; En plassholder er bare en variabel der vi kan tilordne verdier senere i strengen ved utførelse. Men eksistensen av plassholdervariabelen er ingenting før noen verdi er tilordnet den. Denne opplæringsguiden vil forklare arbeidet med streng interpolasjon i C Sharp.

Implementering av streng interpolasjon

Eksempel 1

Det første eksemplet på streng interpolasjon er å finne området for to heltallsverdier. Disse verdiene erstattes av plassholderen vi bruker i formelen. Det er alltid noen metoder for å bruke plassholdere sammen med symbolene som inneholder variablene og plassholderne. For eksempel har vi brukt '@' og et dollar '$' -skilt her. Disse tegnene hjelper bruken av strenginterpolasjon.

Så mens implementering, nå i kildekoden, bruker System Library først til å bruke klasser og andre containere. Tre heltalldatatypevariabler er erklært. To av dem er erklært med verdier, mens den tredje lagrer den resulterende verdien. Basen og høyden er erklært, mens området vil bli beregnet ved å gi formelen. Ved symbolinterpolasjon har vi brukt to symboler ved å ha en ordre på @ vises før $.

# Konsoll.WritLine (@ $ "heght =" "height" "og base =" "base" "");
# Konsoll.WritLine (@ $ "Area =" "Area" ");

Etter å ha skrevet kildekoden i filen, vil vi samle den i terminalen. Det er alltid en kompilator og en eksekutor som kompilerer og utfører koden. Så vi bruker MC -er for å samle koden til C Sharp i Linux -operativsystemet.

$ MCS -fil.CS

En feil eksisterer mens du sammenstiller koden, og kompilasjonsprosessen mislykkes med 2 feil. Disse feilene viser at rekkefølgen på nøkkelord og symbolene for strenginterpolasjon er unøyaktig.

Vi må følge riktig rekkefølge mens vi bruker to symboler i strenginterpolasjonsprosessen. Ellers vil det oppstå en feil, som vist ovenfor. Disse feilene kan utbedres ved å endre ordren; Vi har brukt '@' -tegnet før Dollar -symbolet. Så nå vil vi bruke '$' -tegnet før '@'.

Så ved å bruke det samme eksemplet, vil vi komme med en annen tilnærming til rekkefølgen på symbolene. Alle verdiene og formelvariablene vil være de samme. Denne gangen har vi skrevet '$' før '@', har dette innvirkning på erstatningen av plassholderen med verdien av en variabel.

# Konsoll.WritLine ($ @ "heght =" "height" "og base =" "base" "");
# Konsoll.WritLine ($ @ "Area =" "Area" "");

Lagre nå koden, så vil vi kompilere den med MCS, mens mono brukes til å utføre koden.

$ MCS -fil.CS
$ mono -fil.EXE

Nå mens du utføres, har du sett at samlingen var jevn og begge feilene er utbedret, begge verdiene blir fortrengt når de har erstattet plassholderne, og området blir også beregnet gjennom formelen.

Eksempel 2

Dette eksemplet omhandler interpolasjonssøking. Først vil vi bruke algoritmen for å forklare arbeidet med denne prosessen med å søke.

Algoritme

  • Det finnes en formel for å beregne posisjonen til varen.
  • Hvis vi finner kampen gjennom formelen, vil vi returnere varens indeks og verdien.
  • Hvis varen som skal finne er mindre enn plasseringen av matriseindeksen akkurat nå, arr [POS], kan du beregne sondeposisjonen igjen for venstre side-under-array. På den annen side kan du beregne posisjonen for høyre side under array hvis varen er større.
  • Vi vil gjenta prosessen til en kamp er funnet eller at undergårdene reduseres til null.
  • Forutsetningen for denne søkeprosessen er at matrisen må sorteres.

Nå implementerer vi denne algoritmen. En funksjon opprettes for søkeprosessen; Dette vil ta streng -matrisen, elementet vi ønsker å søke, og det nedre og høyere posisjonsnummeret. En "POS" -variabel fra heltall er erklært å finne posisjonen.

Hvis verdien er til stede i matrisen, returnerer den indeksen og nummeret for å vise indeksnummeret som verdien er til stede; På den annen side returnerer den -1.

Å bruke en IF-uttalelse vil sjekke om elementet er til stede eller ikke, ettersom matrisen er sortert, så det må ligge i det spesifiserte området som definert av hjørnet. Inne.

# Pos = lo + (((hei - lo) / (arr [hei] - arr [lo])) * (x - arr [lo]));

Denne formelen indikerer at ved å trekke det nedre punktet fra den høyeste indeksen og deretter legge til det laveste antallet, blir resultatet deretter deles med verdien ved den laveste indeksen og trukket fra den høyeste; Etter å ha oppnådd verdien ved å gjøre det, multipliseres dette deretter med antallet som er oppnådd ved å trekke antallet med laveste indeks fra tallet som skal søkes.

Så igjen, hvis uttalelsen vil sjekke om nummeret blir funnet ved å sammenligne det med resultatet av verdien som er oppnådd, returner du nummeret. Og hvis antallet som skal finne er større enn verdien som er oppnådd, betyr det at antallet er i riktig sub-array. Igjen vil dette føre til funksjonsanropet ved å ha nummeret som skal søkes, bare den høyeste posisjonen, og midt/posisjon pluss 1, hvor den rette delen startes.

# If (arr [pos] < x)
# Returner interpolationsarch (arr, pos + 1, hei, x)

Og hvis antallet er mindre enn midtpunktet, blir venstre matrise vurdert.

Ellers, returner -1 -verdien. I hovedprogrammet er en strengmatrise erklært med 6 verdier. Disse verdiene er i stigende rekkefølge, ettersom vi trenger en sortert matrise som inngang. Igjen vil vi erklære en variabel som inneholder verdien vi ønsker å søke. Lengden på matrisen vil oppnås fra den innebygde funksjonen. Vi vil kalle en funksjon og en variabel for å lagre verdien som returneres fra funksjonen.

# Int indeks = interpolationsarch (arr, 0, n -1, x);

Lagre koden og kjør den deretter; Du vil se at nummeret 13 søkte er til stede på den andre indeksen i matrisen. Indeksnummeret vises ved å erstatte indeksvariabelen på visningstidspunktet.

Konklusjon

Strenginterpolasjon er mekanismen for å inkorporere verdiene i variabelen i stedet for plassholderne som er til stede inne i strengen. Vi har representert strenginterpolasjonen i Linux -systemet ved å bruke to symboler som er opptatt av representasjonsrekkefølgen. Hvis rekkefølgen på noen av uttalelsene endres, vil feilen oppstå. Dessuten har vi også gjort interpolasjonssøking i strenggruppen. På denne måten kan vi bruke et streng interpolasjonskonsept på mange måter.