Je ne pense pas que vous soyez le seul à ne pas savoir ce qu'est .Net. Il y a déjà d'autres réponses qui devraient vous couvrir, mais je vais donner cette petite information pour les autres.
Pour voir ce qu'est " réellement " .Net, il suffit d'aller sur c : \Windows\Microsoft.Net\Framework
Vous y trouverez des dossiers spécifiques à la ou aux versions que vous avez installées. Allez dans le dossier v2.0.xxxxx si vous l'avez installé par exemple.
Dans ce dossier se trouve le framework. Vous verrez essentiellement un ensemble de fichiers .exe et de fichiers .dll. Tous les fichiers DLL qui commencent par System.*.dll constituent essentiellement le cadre .Net.
Les fichiers .exe que vous verrez dans ce dossier sont des utilitaires pour les développeurs ainsi que des compilateurs. Vous avez mentionné C#. Trouvez le fichier csc.exe. C'est votre compilateur C#.
Construire un programme est très simple. Introduisez le code suivant dans un fichier hello.cs.
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world");
}
}
Puis sur la ligne de commande tapez> csc hello.cs
Cela vous permettra de générer un fichier .exe. Exécutez-le et il vous enverra évidemment 'hello world'.
La ligne qui dit Console.WriteLine() fait appel au Framework. Console est un objet qui vit dans l'espace de noms System et WriteLine() est une méthode statique.
Voici le code désassemblé de la méthode Console.WriteLine() :
[HostProtection(SecurityAction.LinkDemand, UI=true)]
public static void WriteLine(string value)
{
Out.WriteLine(value);
}
Lorsque les gens disent des choses comme "Devrais-je utiliser PHP ou .Net ?", ou "Devrais-je utiliser Python ou .Net", vous commencez à comprendre que ce n'est pas la bonne chose à discuter. Ils comparent manifestement un langage à un framework. C# est un langage et ce n'est que l'un des nombreux langages qui peuvent être utilisés pour écrire du code au-dessus de la plate-forme .Net. La même méthode Console.WriteLine() peut être invoquée depuis C#, VB.Net, Pascal, C++, Ruby, Python, F# et tout autre langage qui a été conçu pour fonctionner au-dessus de la plate-forme .Net.
J'espère que cela vous aidera.
-Keith