Joemart Amores
Joemart Amores

Reputation: 11

Passing Argument in C#

How can I input "English" as a default language, if the user doesn't input their preferred language? Without using if/else statement.

Here is my simple code:

using System;

namespace Practice1._3
{
    class Program
    {            
        static void Main(string[] args)
        {
            Console.WriteLine("What's your name:");
            string name = Console.ReadLine();
            Console.WriteLine("Age:");
            string Age = Console.ReadLine();
            Console.WriteLine("Preferred language:");
            string language = Console.ReadLine();


            Console.WriteLine("\n-----------------------------------------");
            Console.WriteLine("Your name is " + name);           
            Console.WriteLine("Your age is " + Age);
            Console.WriteLine("Your language is " + language);

        }
    }
}

Upvotes: 0

Views: 105

Answers (2)

Zweli
Zweli

Reputation: 3

Because of this line string language = Console.ReadLine();, it cannot be possible to do it without checking what is already stored in the variable. I was thinking of a default value. Even if you set a default value, this line will override it with an empty string. Check here for more about string vs null

Like A. Petit suggests above, I also suggest an if statement to check the input and display your language accordingly. You can use ternary for this. a ternary Is also a form of the if statement.

Console.WriteLine("What's your name:");
string name = Console.ReadLine();
Console.WriteLine("Age:");
string Age = Console.ReadLine();
Console.WriteLine("Preferred language:");
string language = Console.ReadLine();

//check if language is entered. If not, use a default langage, else, use the entered language
language = language=="" || language == null? "English": language;

Console.WriteLine("\n-----------------------------------------");
Console.WriteLine("Your name is " + name);
Console.WriteLine("Your age is " + Age);
Console.WriteLine("Your language is " + language);

Upvotes: 0

A. Petit
A. Petit

Reputation: 158

You could use a ternary conditional operator.

Console.WriteLine("Your language is : {0}", language == "" ? "English" : language);

Upvotes: 2

Related Questions