C# C# Basics Strings Escape Sequences

Define a Quote method that accepts a string parameter. It should return that same string, but surrounded by double quote

Define a Quote method that accepts a string parameter. It should return that same string, surrounded by double quotes.

Program.cs
using System;

class Program
{

    // YOUR CODE HERE: Define a Quote method!
    static string Quote(string phrase)
    {
        return Quote($"{phrase}");
    }

    static void Main(string[] args)
    {
        // Quote by Maya Angelou.
        Console.WriteLine(Quote("When you learn, teach. When you get, give."));
        // Quote by Benjamin Franklin.
        Console.WriteLine(Quote("No gains without pains."));
    }

}

1 Answer

Jennifer Nordell
STAFF
Jennifer Nordell
Treehouse Staff

Hi there, Tom Hartley ! I received your request for assistance. First, you are attempting to call the Quote method from within itself and this will cause an error without referencing the class first. But you don't need recursion here. The key lies in that we want the phrase to show the quotes as part of the string. To do this, you will need to escape the quotation marks. Generally, a quote mark means to C# to start a string, and end a string. But in this case, we want quote marks as part of the string.

   static string Quote(string phrase)
    {
        // note that the quotes inside the string will have to be escaped 
       // so that they aren't considered the start of the string nor the end
        return $"\"{phrase}\"";  
    }

Make sure you look at the preview of this code so that you understand the output. Hope this helps! :sparkles: