Le C# est un langage de programmation, .NET est un terme générique qui tend à couvrir à la fois le .NET Framework (une bibliothèque de framework d'application) et le Common Language Runtime qui est l'environnement d'exécution dans lequel les assemblages .NET sont exécutés.
L'implémentation de C# par Microsoft est fortement intégrée au .NET Framework, il est donc compréhensible que ces deux concepts soient confondus. Cependant, il est important de comprendre qu'ils sont deux choses très différentes.
Voici une classe écrite en C# :
class Example { }
Voici une classe écrite en C# qui utilise explicitement un assemblage, un type et une méthode du framework .NET :
class Example
{
static void Main()
{
// Ici, nous faisons appel au framework .NET pour
// écrire dans la console de sortie
System.Console.Write("bonjour, monde");
}
}
Comme je l'ai mentionné précédemment, il est très difficile d'utiliser l'implémentation de C# par Microsoft sans utiliser également le framework .NET. Mon premier exemple de Example
utilise même le framework .NET (implicitement, oui, mais il l'utilise néanmoins) car Example
hérite de System.Object
.
De plus, la raison pour laquelle j'utilise l'expression l'implémentation de C# par Microsoft est parce qu'il existe d'autres implémentations de C# disponibles.
55 votes
Je peux expliquer les messages de besoins... Ils sont rédigés par des développeurs non-.NET. Soit des ressources humaines, soit des gestionnaires qui n'ONT PAS besoin de comprendre la distinction.
2 votes
Vous avez tout à fait raison, je devrais faire la différence entre les deux. J'utilise C# depuis un certain temps maintenant et j'utilise toujours la classe de la bibliothèque .Net lors de la programmation en C#, mais je ne prends jamais le temps de différencier les deux. Mais maintenant je sais, merci.
1 votes
Si vous avez de l'expérience en C#, vous avez également une expérience décente en .NET. Les fonctions comme
Console.Write()
et les classes commeList
font partie de la bibliothèque .NET, ce qui signifie qu'elles peuvent également être accessibles par d'autres langages .NET comme VB.NET. À moins d'avoir utilisé C# d'une manière peu commune, vous ne pouvez pas avoir l'un sans l'autre.