web-dev-qa-db-fra.com

stdout vs console.write en c #

Je suis TRÈS nouveau dans la programmation C #/et comme exercice d'apprentissage, j'ai relevé un défi en ligne pour changer le texte en minuscules. Le défi spécifiait qu'il devait "imprimer sur stdout", mais j'ai terminé le défi en utilisant 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();
            }
        }
    }
}

stdout est-il juste un autre nom pour la sortie vers la console (les soumissions peuvent être dans de nombreuses langues différentes) ou la soumission de code en ligne n'a-t-elle tout simplement pas vérifié la sortie correctement. J'ai googlé "stdout c #" mais je ne comprends pas complètement les résultats.

20
Prendoza

Dans des langages comme C et C++, il existe une variable globale avec le nom stdout, qui est un pointeur vers le flux de sortie standard. Ainsi, stdout est devenu une abréviation couramment utilisée pour "flux de sortie standard" même en dehors du contexte du langage C.

Maintenant, que fait C #? Jetons un coup d'œil à la documentation de Console.WriteLine (c'est moi qui souligne):

Écrit la valeur de chaîne spécifiée, suivie de la terminaison de ligne actuelle, dans le flux de sortie standard .

Donc oui, Console.WriteLine fait exactement ce que vous devez faire. Si vous avez besoin d'une référence directe au flux de sortie standard (indice: vous n'avez généralement pas), vous pouvez utiliser la propriété Console.Out .

19
Heinzi