📌  相关文章
📜  C#中的Console.ReadLine()方法

📅  最后修改于: 2021-05-29 21:52:57             🧑  作者: Mango

此方法用于从标准输入流中读取下一行字符。它在Console类(系统命名空间)下。如果标准输入设备是键盘,则ReadLine方法将阻塞,直到用户按下Enter键。而且,如果将标准输入重定向到文件,则此方法将从文件中读取一行文本。

例外情况:

  • IOException :如果发生I / O错误。
  • OutOfMemoryException :如果没有足够的内存为返回的字符串分配缓冲区。
  • ArgumentOutOfRangeException :如果下一行字符中的字符数大于MaxValue。

下面的程序说明了上面讨论的方法的用法:

示例1:在这里,从用户那里获取输入。由于age是一个整数,因此我们使用Convert.ToInt32()方法进行了类型转换。它从输入流中读取下一行。它会一直阻塞,直到按Enter键为止。因此,它通常用于暂停控制台,以便用户可以检查输出。

// C# program to illustrate
// the use of Console.ReadLine()
using System;
using System.IO;
  
class GFG {
      
    // Main Method
    public static void Main()
    {
        int age;
        string name;
  
        Console.WriteLine("Enter your name: ");
          
        // using the method
        // typecasting not needed 
        // as ReadLine returns string
        name = Console.ReadLine();
          
        Console.WriteLine("Enter your age: ");
          
        // Converted string to int
        age = Convert.ToInt32(Console.ReadLine());
          
        if (age >= 18) 
        {
            Console.WriteLine("Hello " + name + "!"
                        + " You can vote");
        }
        else {
            Console.WriteLine("Hello " + name + "!"
                + " Sorry you can't vote");
        }
    } 
}

输出:

示例2:暂停控制台

// C# program to illustrate
// the use of Console.ReadLine()
// to pause the console
using System;
using System.IO;
  
class Geeks {
      
    // Main Method
    public static void Main()
    {
        string name;
        int n;
  
        Console.WriteLine("Enter your name: ");
          
        // typecasting not needed as 
        // ReadLine returns string
        name = Console.ReadLine();
          
        Console.WriteLine("Hello " + name + 
             " Welcome to GeeksforGeeks!");
          
        // Pauses the console until 
        // the user preses enter key
        Console.ReadLine(); 
    } 
}

输出:

说明:在上面的输出中,您可以看到控制台已暂停。光标将连续闪烁,直到您按Enter键。

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.console.readline?view=netframework-4.7.2