Assigning the variable as '\ r' instead of taking the value received from the user?

I have a function with some variables defined in it. Variables were defined as static at the top. One of the variables will be taken from the user and an element of array will be equalized to this variable.

like this:

static char[] assign_this_array = new char[1];
static char get_from_user;

static void whatever()
{
   Console.Write("enter");
   get_from_user = Convert.ToChar(Console.Read());
   assign_this_array[0] = get_from_user;
}



When the function is first called, it takes the value from the user and makes the assignment. But the second and other times it does not get from the user. When I debugged, I saw that it did not get from the user. When I looked at the get_from_user variable, I saw that '\ r' was assigned. Why is this happening and is there a solution?