RECHERCHE

Plan du site

BOURSE

 

RUBRIQUES

 
 TUTORIELS 
Commencer avec C#
Au programme : les flux d'entrées/sorties, comment lire un fichier texte...  (10 novembre 2003)
 
Certes, C# et Java se ressemblent à plus d'un point, mais ce n'est pas ce constat qui aidera à comprendre comment développer dans le nouveau langage de .NET. Nous (ré)entamons donc ici une série d'articles permettant d'appréhender sa syntaxe.

Mise en place
Premièrement, pour travailler les langages .NET, il est nécessaire non seulement de disposer du framework sur sa machine, mais aussi et surtout du SDK dudit framework, téléchargeable en français sur le site de Microsoft. Une fois setup.exe lancé et le SDK installé, vous devriez avoir accès aux divers compilateurs standards, dont celui qui nous intéresse : csc.exe.

Nous travaillerons pour le moment avec Notepad et la ligne de commande, les chanceux disposant de Visual Studio .NET pouvant bien sûr s'adapter sans trop de problèmes...

Premier code
Ceux ayant déjà lu la suite d'articles sur l'utilisation de Visual Studio .NET (beta) et "Les bases du C#" savent à quoi s'en tenir lors de l'écriture du sempiternel "Hello Asnières-sur-Seine!" :

[fichier hello.cs]
public class HelloWorld
  {
  public static void Main()
    {
    System.Console.WriteLine("Hello Asnières-sur-Seine!");
    }
  }

Pour l'honneur, nous pouvons comparer avec son équivalent Java :

[fichier hello.java]
public class HelloWorld
  {
  public static void main ()
    {
    System.out.println("Hello Asnières-sur-Seine!");
    }
  }

Une fois compilé, hello.cs donnera le fichier hello.exe, qui est un fichier binaire utilisant le Common Intermediate Language (CIL), et s'exécutera au travers de .NET - un peu comme un fichier compilé .class utilise le JRE pour fonctionner.
Nous arrêterons là les comparaisons, car ces premières petites différences entre les deux langages vont vite se creuser...

Lire un fichier texte
Plongeons rapidement dans le vif du sujet, ce qui nous permettra de présenter quelques fonctions du Framework : une classe permettant de lire une ligne de texte.

using System;
using System.IO;

class LireUneLigne
  {
  public static void Main(string[] args)
    {
    TextReader tr = new StreamReader("signature.txt");
    Console.WriteLine(tr.ReadLine());
    tr.Close();
    }
  }

Les espaces de nom (namespaces) using System et using System.IO nous permettent respectivement d'accèder aux fonctionnalités liées au système, et aux entrée/sorties (disque, mémoire, réseau...).

Nous nommons ensuite notre classe, et créons sa fonction principale : Main().

Nous ouvrons ensuite un flux de lecture via la classe StreamReader, en déclarant la variable tr comme étant du type TypeWriter (la classe parente de StreamReader), et pointant vers le fichier signature.txt.

C'est ensuite la déclaration WriteLine() de la classe Console (sous-classe de System) qui est appelée, mais en utilisant la méthode ReadLine() provenant de la classe TextReader, ce qui nous permet effectivement de lire une ligne du fichier.

Enfin, on invoque la fonction Close() pour vider et clore le flux ouvert via StreamReader.

Il n'est pas compliqué de se rendre compte qu'une simple boucle permettrait de lire l'ensemble des lignes du fichier...

Discutez en sur les forums

C'est là un premier exemple de la manière de s'y prendre avec C#. Lors d'un prochain article, nous vous présenterons les principales classes disponibles dans le framework .NET, et donc accessible par C# et ses langages "cousins"...

 
[ Xavier BorderieJDNet]
 
Accueil | Haut de page
 
 

 

 
 
[an error occurred while processing this directive]