Search code examples
c#buildconsole.readline

Can't input data with Console.ReadLine


I'm trainning in C# alone for this moment, and encounter my first problem.

I use VSCode as IDE.

What I Am Try To Do

Create two functions, the first, data like name and return it. the second return full name. All in one in a class.

What I Do From Here

using System

namespace Helloworld
{
  class Program
  {
    static void Main(string[] args)
    {
      Program p = new Program();
      Console.WriteLine(p.getFullName())
    }

    public string getName(string message)
    {
      string? name;
      
      do
      {
        Console.WriteLine(message);
        name = Console.ReadLine();
      } 
      while (string.IsNullOrEmpty(firstName)); // For avoid null or empty string, I'm not found another solution.

      return name;
    }

    public string getFullName()
    {
       const string firstNameMessage = "Enter your first name: ";
       const string lastNameMessage  = "Enter yout last name: ";

       string result = $"{getName(firstNameMessage)} {getName(lastNameMessage)}"
       return result;
    }
  }
}

I Have Encountered Any Problems

1 - When I launch the command dotnet run, my program follow instructions while the first Console.WriteLine. When I type an random name in VSCode's Debug Console. Nothing happens...
My questions: Does this problem come my code ? Am I using an unsuitable IDE ? Or Am I not working with the good VSCode's Tools ?

2 - When I want restart or build I have a message like The process cannot access the file C:\Users\Username\ Documents\Work\learningCSharp\bin\Debug\net6.0\learningCSharp.dll' because it is being used by another process.
My question: How I kill process which use my DLL file ?


Solution

  • I solve all my problem finally alone. I read here the solution.

    I'm posting the solution anyway.

    in your launch.json replace "console": "internalConsole" by "console": "integratedTerminal.

    If you are senior in C#, Can you tell us if is it same for all IDEs ?