Bonjour,
voici une question toute bête. Comment fait-on pour utiliser des fonctions en C# (qu'on peut appeler de n'importe ou dans le programme)? Déclaration, appels, etc
Merci beaucoup
Cédric
Version imprimable
Bonjour,
voici une question toute bête. Comment fait-on pour utiliser des fonctions en C# (qu'on peut appeler de n'importe ou dans le programme)? Déclaration, appels, etc
Merci beaucoup
Cédric
Bonjour,
Le modèle .NET est avant tout basé sur un modèle Orienté Objet. Par conséquent pour avoir des méthodes, il te faut avant une classe.
Par exemple lorsque tu créer un nouveau projet Console (sous VS):
Ainsi tu est dans la Classe Program, est une méthode nommé Main prenant un tableau de chaine de caractères nommé args est déclaré dans cette Classe.Code:
1
2
3
4
5
6
7
8
9
10
11
12 using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { } } }
Maintenant tu peux par exemple ajouter une nouvelle classe, et y déclarer une méthode:
Ainsi dans ta Program::Main, tu peux faire ceci:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class MyClass { public void SayHello() { Console.WriteLine("Hello"); } } }
Ce qui affichera[i]Hello[i] dans la console.Code:
1
2
3
4
5
6
7
8 class Program { static void Main(string[] args) { MyClass c = new MyClass(); c.SayHello(); } }
Après tu peux aussi déclarer un méthode Static, qui ne nécessitera pas que tu créer une instance de ta class pour l'utiliser:
Ce qui te permettra de faire dans ton Program:Code:
1
2
3
4 public static void SayWorld() { Console.WriteLine("World"); }
Au final ce program affichera:Code:
1
2
3
4
5
6
7
8 static void Main(string[] args) { MyClass c = new MyClass(); c.SayHello(); MyClass.SayWorld(); Console.ReadLine(); }
(La commande Console.ReadLine(); permet d'attendre que tu tappe sur entrée avant de fermer la console).Citation:
Hello
World
Merci pour ta réponse. Donc si je comprends bien par exemple si je veux faire une fonction qui fait un traitement sur une chaine de caractères, il faut a chaque fois que j'instancie une classe...?.
Pas forcément. Tu peux aussi écrire une méthode statique, comme les méthodesouCode:String.IsNullOrEmpty(string)
de la classe String.Code:String.Concat(string, string)
ha ok merci beaucoup :D
Je crois qu'il faudrait que tu commences par là...
http://tahe.developpez.com/dotnet/csharp/