C# is a programming language, and.NET refers to both the.NET Framework (an application framework library) and the Common Language Runtime (the runtime in which.NET assemblies are executed).
Because the.NET Framework and Microsoft's implementation of C# are so closely linked, it's easy to get the two concepts mixed up. However, it is critical to recognise the distinction between the two.
Below is a class in C#
class Example { }
And this one uses .NET framework explicitly
class Example
{
static void Main()
{
// Here we call into the .NET framework to
// write to the output console
System.Console.Write("hello, world");
}
}
As I previously stated, using Microsoft's implementation of C# without the.NET framework is quite tough. Because Example derives from System.Object, my first Example implementation even uses the.NET framework (implicitly, yes, but nonetheless).