| 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...
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"...
|