C# for JavaScript Developers: Basic Exercises 03

Myles Tyrer
3 min readMar 30, 2021

Link to the exercises I’ll be working through from the Breaking IT Down Blog.

This is part three in a series I’m writing working through some basic exercises in C# as a JavaScript developer. The same disclaimer applies to this article that applies to the others. Though C# is built around Object Oriented Programming, I won’t be using OOP principles in the code examples in this article. I’m using these exercises to demonstrate the differences and similarities in syntax between JavaScript and C#, and I’ll be refactoring the code later to be more in line with OOP’s practices.

If you have never looked at C# code before, I think you’re going to be surprised at how similar it can be to JavaScript!

Exercise Three

The tasks in each exercise will be in bullet points, and each task will have its solution directly below it in a code block. For more

  • Update your variable to tell the user that you are going to help them create a password and ask them to enter any phrase
string message = "Please enter a passphrase."
Console.WriteLine(message);
  • Store that word in a string variable
string input = Console.ReadLine();
  • Ask the user to enter any number greater than 9, store that input in a string variable
Console.WriteLine("Please enter any number greater than 9.");
string num = Console.ReadLine();
  • Create a variable to store the password
string password;

This is also syntax to declare a variable that works in JavaScript, though in JS it would be let, constor var instead of string . The important thing is that in C#, a variable can be declared without a value being stored inside it, just like JavaScript. The difference is that C# needs the type declaration of that variable as well as its name, and the type cannot change later. Read more about types in C#.

  • Use the following requirements to create the password

1)Remove any spaces from the input

Regex rgxSpace = new Regex("/ /gm");
password = rgxSpace.Replace(input, "");

See the second article in this series for more information on regular expressions in C#.

2) Replace the letter a with the number 2

Regex rgxA = new Regex("/a/gmi");
password = rgxSpace.Replace(input, "2");

3) Replace the letter o with the number 0

Regex rgxO = new Regex("/o/gmi");
password = rgxSpace.Replace(input, "0");

4) Replace the letter i with an exclamation mark

Regex rgxI = new Regex("/i/gmi");
password = rgxSpace.Replace(input, "!");

5) Add the last digit of the number to the beginning of the password

6)Add the first digit of the number to the end of the password

// this line fulfills both 5 and 6
password = num[0] + password + num[num.Length-1];
  • In a single message, use string interpolation to display the original phrase, number, and the newly created password to the user
Console.WriteLine($"Original phrase: {passphrase} \nNumber: {num}\n New password: {password}");

Here we see that the newline character \n can be used in C# just like in JS, though strings in C# cannot be multiline unless broken up with concatenation like this:

string multiline = "this" + 
"string" +
"is" +
"multiline";

And that’s the third exercise on the worksheet! In the next article I’ll be refactoring the code from the last few exercises so it is more object oriented.

I hope this helps dispel any fears you may have of learning a new language. It was daunting for me from the outside, but once I actually started to look into the details of how it is written, C# got a whole lot more welcoming.

Github repo for this project.

--

--

Myles Tyrer

I’m a web developer focusing on interactive projects using React and Nodejs.