Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Metoder | Strukturer og Enumeratorer
C# Utover Det Grunnleggende

bookUtfordring: Metoder

Koden inneholder en struct kalt Cypher som i hovedsak representerer en type Caesar-kryptering.

Note
Merk

Caesar-kryptering er en metode for tekstkoding som gjør meldinger uleselige ved å flytte hver bokstav et fast antall posisjoner i alfabetet eller ASCII-tegn. For eksempel, hvis hver bokstav i "HelloWorld" flyttes 7 posisjoner i henhold til ASCII-tabellen, får man "Olssv^vysk." Det er som en hemmelig kode der hver bokstav erstattes med en annen bokstav et visst antall steg unna. Dette kan betraktes som en enkel måte å skjule meldinger eller tekst på.

Du kan lese om Caesar-kryptering på dens Wikipedia-side, men det er ikke nødvendig for å løse denne oppgaven.

Les koden og fyll inn de tomme feltene for å sikre at den fungerer riktig. Slik skal det endelige programmet være:

  1. setText-metoden konverterer den sendte teksten til kodet tekst og lagrer den i feltet text. Denne metoden tar ett string-argument kalt text, og metoden returnerer ingen verdi;
  2. rawText returnerer innholdet i feltet text. Denne metoden tar ingen argumenter;
  3. decodedText dekoder innholdet i feltet text og returnerer resultatet. Denne metoden tar heller ingen argumenter.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
  1. Det er god praksis å bruke this-nøkkelordet når du refererer til feltene i structen.
  2. Du bruker nøkkelordet void som returverdi dersom metoden ikke returnerer noen verdi.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.04

bookUtfordring: Metoder

Sveip for å vise menyen

Koden inneholder en struct kalt Cypher som i hovedsak representerer en type Caesar-kryptering.

Note
Merk

Caesar-kryptering er en metode for tekstkoding som gjør meldinger uleselige ved å flytte hver bokstav et fast antall posisjoner i alfabetet eller ASCII-tegn. For eksempel, hvis hver bokstav i "HelloWorld" flyttes 7 posisjoner i henhold til ASCII-tabellen, får man "Olssv^vysk." Det er som en hemmelig kode der hver bokstav erstattes med en annen bokstav et visst antall steg unna. Dette kan betraktes som en enkel måte å skjule meldinger eller tekst på.

Du kan lese om Caesar-kryptering på dens Wikipedia-side, men det er ikke nødvendig for å løse denne oppgaven.

Les koden og fyll inn de tomme feltene for å sikre at den fungerer riktig. Slik skal det endelige programmet være:

  1. setText-metoden konverterer den sendte teksten til kodet tekst og lagrer den i feltet text. Denne metoden tar ett string-argument kalt text, og metoden returnerer ingen verdi;
  2. rawText returnerer innholdet i feltet text. Denne metoden tar ingen argumenter;
  3. decodedText dekoder innholdet i feltet text og returnerer resultatet. Denne metoden tar heller ingen argumenter.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
  1. Det er god praksis å bruke this-nøkkelordet når du refererer til feltene i structen.
  2. Du bruker nøkkelordet void som returverdi dersom metoden ikke returnerer noen verdi.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7
some-alt