Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Metoder | Strukturer och Enumeratorer
C# Bortom Grunderna

bookUtmaning: Metoder

Koden innehåller en struct kallad Cypher som i grunden representerar en typ av Caesar-chiffer.

Note
Notering

Caesar-chiffer är en metod för textkodning som gör meddelanden oläsliga genom att förskjuta varje bokstav ett fast antal positioner i alfabetet eller ASCII-tecken. Till exempel, om varje tecken i "HelloWorld" förskjuts med 7 positioner enligt ASCII-tabellen, blir resultatet "Olssv^vysk." Det är som en hemlig kod där varje bokstav ersätts av en annan bokstav ett visst antal steg bort. Det kan ses som ett enkelt sätt att dölja meddelanden eller text.

Du kan läsa om Caesar-chiffer på dess Wikipedia-sida, men det är inte nödvändigt för att lösa denna övningsuppgift.

Läs koden och fyll i luckorna för att säkerställa att den fungerar korrekt. Så här ska det slutliga programmet vara:

  1. Metoden setText konverterar den överförda texten till kodad text och lagrar den i fältet text. Denna metod tar ett argument av typen string som heter text, och metoden returnerar inget värde;
  2. rawText returnerar innehållet i fältet text. Denna metod tar inga argument;
  3. decodedText avkodar innehållet i fältet text och returnerar resultatet. Denna metod tar inte heller några argument.
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 är god praxis att använda nyckelordet this när du refererar till strukturens fält.
  2. Du använder nyckelordet void som returtyp om metoden inte returnerar något värde.
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()); } }
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 2.04

bookUtmaning: Metoder

Svep för att visa menyn

Koden innehåller en struct kallad Cypher som i grunden representerar en typ av Caesar-chiffer.

Note
Notering

Caesar-chiffer är en metod för textkodning som gör meddelanden oläsliga genom att förskjuta varje bokstav ett fast antal positioner i alfabetet eller ASCII-tecken. Till exempel, om varje tecken i "HelloWorld" förskjuts med 7 positioner enligt ASCII-tabellen, blir resultatet "Olssv^vysk." Det är som en hemlig kod där varje bokstav ersätts av en annan bokstav ett visst antal steg bort. Det kan ses som ett enkelt sätt att dölja meddelanden eller text.

Du kan läsa om Caesar-chiffer på dess Wikipedia-sida, men det är inte nödvändigt för att lösa denna övningsuppgift.

Läs koden och fyll i luckorna för att säkerställa att den fungerar korrekt. Så här ska det slutliga programmet vara:

  1. Metoden setText konverterar den överförda texten till kodad text och lagrar den i fältet text. Denna metod tar ett argument av typen string som heter text, och metoden returnerar inget värde;
  2. rawText returnerar innehållet i fältet text. Denna metod tar inga argument;
  3. decodedText avkodar innehållet i fältet text och returnerar resultatet. Denna metod tar inte heller några argument.
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 är god praxis att använda nyckelordet this när du refererar till strukturens fält.
  2. Du använder nyckelordet void som returtyp om metoden inte returnerar något värde.
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()); } }
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 7
some-alt