What is the difference between C# and .NET?

后端 未结 10 1895
梦毁少年i
梦毁少年i 2020-12-02 04:20

May I know what is the difference between C# and .NET? When I think of C#, right away I would say it is a .NET language, but when I search for job posts, they require candid

10条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-02 05:12

    C# is a programming language, .NET is a blanket term that tends to cover both the .NET Framework (an application framework library) and the Common Language Runtime which is the runtime in which .NET assemblies are run.

    Microsoft's implementation of C# is heavily integrated with the .NET Framework so it is understandable that the two concepts would be confused. However it is important to understand that they are two very different things.

    Here is a class written in C#:

    class Example { }
    

    Here is a class written in C# that explicitly uses a .NET framework assembly, type, and method:

    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 mentioned before, it is very difficult to use Microsoft's implementation of C# without using the .NET framework as well. My first Example implementation above even uses the .NET framework (implicitly, yes, but it does use it nonetheless) because Example inherits from System.Object.

    Also, the reason I use the phrase Microsoft's implementation of C# is because there are other implementations of C# available.

提交回复
热议问题