stdout vs console.write in c#

折月煮酒 提交于 2019-12-06 17:13:57

问题


I am VERY new to C#/programming and as a learning exercise completed an online challenge to change text to lowercase. The challenge specified it must 'print to stdout' yet I completed the challenge by using Console.Writeline

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lowercase
{
    class Program
    {
        static void Main(string[] args)
        {
            using ( StreamReader reader = new StreamReader("TextFile1.txt")) 
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();
                    Console.WriteLine(line.ToLower());
                }

                Console.ReadLine();
            }
        }
    }
}

Is stdout just another name for outputting to console (submissions could be in many different languages) or did the online code submission just not check the output properly. I have googled 'stdout c#' but don't fully understand the results.


回答1:


In languages like C and C++, there is a global variable with the name stdout, which is a pointer to the standard output stream. Thus, stdout has become a commonly used abbreviation for "standard output stream" even outside the context of the C language.

Now, what does C# do? Let's have a look at the documentation of Console.WriteLine (emphasis mine):

Writes the specified string value, followed by the current line terminator, to the standard output stream.

So, yes, Console.WriteLine does exactly what you need to do. If you need a direct reference to the standard output stream (Hint: you usually don't), you can use the Console.Out property.



来源:https://stackoverflow.com/questions/31502842/stdout-vs-console-write-in-c-sharp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!