Lesson 6: Strings
At the end of this lesson, you should be able to answer the following:
How do I get the length (number of characters) of a string?
How do I join multiple strings together?
How do I make a template string for string interpolation?
What is a verbatim string?
Let's have fun with strings!
String Length
Recall that strings represent text values. All strings have a property called Length
which returns the number of characters in the string. To get the length, attach .Length
to a string value or variable.
// Calling Length directly from a string
Console.WriteLine("12345".Length);
// Calling Length from a string variable
var someString = "abcdef";
Console.WriteLine(someString.Length);

String Concatenation
Declare two string
variables, one to hold a first name and one for a last name.
var firstName = "Jane";
var lastName = "Shepard";
We can join two strings together to form a combined string using the +
operator. This is called string concatenation.
var firstName = "Jane";
var lastName = "Shepard";
var name = firstName + lastName;
Console.WriteLine(name);
The variable name
contains a new string, the value JaneShepard
.

But wait! That doesn't look right. It would look better if there was a space in between them.
To do this, we'll need to add a space in one of the variables. We can add it after firstName
or before lastName
. We could also just add a space string between the two variables.
Add a space string (" "
) between the expression firstName + lastName
. Remember to use another +
to add this new string into the mix!
var firstName = "Jane";
var lastName = "Shepard";
var name = firstName + " " + lastName;
Console.WriteLine(name);
Now our name has a space between the first and last names.

String Interpolation
When we have a lot of strings to join together, it can get convoluted quickly. Instead of joining the strings using +
, we could insert our strings into a template string. This is called string interpolation.
String interpolation can provide a more readable syntax.
var firstName = "Jane";
var lastName = "Shepard";
var name = $"{firstName} {lastName}";
Console.WriteLine(name);
The code above is almost the same as the one before it, except that the expression assigned to name
is different.
The string value begins with a
$
.The variables
firstName
andlastName
are inside the string.The variables
firstName
andlastName
are wrapped in curly braces{}
.There is a space separating
{firstName}
and{lastName}
.
The variable name
has a template string assigned to it.
We made a template string by putting a $
before the string value. Then we inserted the variables we wanted by wrapping them in curly braces and placing them in their desired positions inside the string.
We want a space between the first name and last name, so there is a space already in the template string.
If we wanted the output to be Shepard, Jane
instead, we can change the template string like this:
$"{lastName}, {firstName}"
Replace name
with this template string and run the code. The output should be Shepard, Jane
.

Verbatim Strings
We can make a string span multiple lines. A verbatim string is a string that keeps the lines and spaces in a string as it is defined.
To make a verbatim string, place the @
character in front of a string value.
var multiLine = @"This string spans
multiple lines
and keeps the spaces too!";
Console.WriteLine(multiLine);
Type the program above in a code box and run it. The string will print in multiple lines, even if we only used one Console.WriteLine()
statement.

Last updated
Was this helpful?