This article explains how to take input from the user in VB.NET.
Unlike most languages, VB.NET offers a variety of ways for you to take input from the user. In this article, we’ll discuss three different functions that can be used, the
Read() function, the
ReadLine() Function and the
There are other more user friendly ways of taking input in VB.NET, such as through the use of input prompts. Feel free to look those up as well.
Read Function reads only one single character from the standard input stream. It returns the next character from the input stream, or returns
-1 if there are no more characters to be read.
Module Module1 Sub Main() Dim result As String result = Console.Read() Console.WriteLine(result) Console.WriteLine(TypeName(result)) End Sub End Module
We’ll be testing the above code twice with two different inputs. First by entering a character, and then an integer. (The
TypeName function is used to find the data type of an object)
a 97 String
In the above example, we entered
"a" into the console, and received
String as Outputs. We can see, that the
Read()function accepts string values, but will return a number. And it’s not just any number, 97 is the ASCII equivalent to
a. You can look up a ASCII chart for more information.
4 52 String
Once again, we receive the ASCII equivalent to the number 4. While the output may be a number, it is still in string as the variable
result was defined as a String. If the variable
result was defined as an Integer, the number 52 would be in integer format.
The most commonly used input function is
ReadLine. The ReadLine Function reads a single line from the standard input stream or the command line. Basically it reads all the characters a user types until he presses enter.
ReadLine function returns the user input in the form of a string.
Module Module1 Sub Main() Dim result As String result = Console.ReadLine() Console.WriteLine(result) Console.WriteLine(TypeName(result)) End Sub End Module
ReadLine function is much simpler. Any Line you input into the console, it will return it back to you in String format, regardless of the data type of the input.
Hello World Hello World String
ReadKey function reads only one single character from the standard input stream or command line. It is typically used when you’re giving the user multiple options to select from, such as
select A, B or C. Another common example is,
Press Y or N to continue.
The difference between the
Read is that
ReadKey returns a character.
Module Module1 Sub Main() Dim result As ConsoleKeyInfo = Console.ReadKey() Console.WriteLine(result.Key) Console.WriteLine(TypeName(result.Key)) End Sub End Module
This Function is the most unique out of the three Read Functions. For starters, you must declare using the above format.
ConsoleKeyInfo is actually a class, and we are creating an object of it called
result. Attempting to print out result normally would only return its object name, so you have to use the
result.Key attribute to print out the value. The input stream will terminate as soon as a single stroke on the keyboard is detected.
4 52 ConsoleKey
Note that it returned a type of
ConsoleKey rather than integer or string.
This marks the end of the VB.NET user input article. Any suggestions or contributions for CodersLegacy are more than welcome. Any questions can be asked in the comments section below.
Also see how to output values to console in VB.NET!