📌  相关文章
📜  C#|检查是否在控制台上重定向了输入(1)

📅  最后修改于: 2023-12-03 15:30:18.146000             🧑  作者: Mango

C# | 检查是否在控制台上重定向了输入

在C#中,可以通过Console应用程序接收单个字符、字符串和数字等输入。但是,如果我们要从文件或其他源读取该输入,则需要将输入重定向到控制台。在这种情况下,我们需要检查是否在控制台上重定向了输入。本文将介绍如何检查是否在控制台上重定向了输入,以及如何解决这个问题。

检查是否在控制台上重定向了输入

我们可以使用以下代码片段来检查是否在控制台上重定向了输入:

if (Console.IsInputRedirected)
{
    // 输入已重定向到控制台
}
else
{
    // 输入未重定向到控制台
}

上述代码使用Console.IsInputRedirected属性检查输入是否已重定向到控制台。如果重定向,则属性值为true,否则为false。

解决这个问题

如果输入已重定向到控制台,则我们需要读取输入流,例如,从文件或其他源。我们可以使用以下代码来读取输入流:

while (!Console.KeyAvailable && !Console.ReadLine().Equals("exit"))
{
    string line = Console.ReadLine();
    // 处理输入
}

上述代码使用while循环和Console.KeyAvailable属性读取输入流。在输入可用并且未键入“exit”字符串时,我们可以从输入流中读取行并进行处理。如果我们读取了“exit”字符串,则输入流结束。

结论

在本文中,我们学习了如何使用C#检查是否在控制台上重定向了输入,并且也介绍了如何处理重定向输入。希望这对您有所帮助。