请问c#和。net的区别是什么?当我想到c#的时候,我马上会说它是一种。net语言,但是当我找工作的时候,他们要求应聘者有c#和。net经验。谁能给我一个解释?


当前回答

在。net中,你不仅可以找到c#。比如你可以找到Visual Basic。如果一份工作需要。net知识,那么它可能需要一个了解。net框架所提供的全部语言集的程序员。

其他回答

这里我提供了一个链接,解释了什么是c#语言和。net框架平台架构。记住, c#是一种通用的、面向对象的编程语言,它运行在。net框架上。

. net框架包括一个名为框架类库(FCL)的大型类库,并提供用户界面、数据访问、数据库连接、加密、web应用程序开发、数值算法和网络通信。

. net框架是由微软开发的,主要运行在微软Windows上。

从微软文档中介绍c#语言和。net框架

c#没有单独的运行时库。它使用。net作为运行时库。

c#是一种编程语言。

. net是一个用于在Windows上构建应用程序的框架。

. net框架并不局限于c#。不同的语言可以针对. net框架,并使用该框架构建应用程序。例如f#或VB。网

c#是一种编程语言,. net是一个通用术语,它倾向于涵盖。net框架(一个应用程序框架库)和公共语言运行时,公共语言运行时是运行。net程序集的运行时。

微软的c#实现与。net框架高度集成,因此这两个概念混淆是可以理解的。然而,重要的是要明白它们是两种完全不同的东西。

下面是一个用c#编写的类:

class Example { }

下面是一个用c#编写的类,它显式地使用了.NET框架程序集、类型和方法:

class Example
{
    static void Main()
    {
        // Here we call into the .NET framework to 
        // write to the output console
        System.Console.Write("hello, world");
    }
}

正如我之前提到的,如果不使用. net框架,使用微软的c#实现是非常困难的。我上面的第一个示例实现甚至使用了. net框架(隐式地,是的,但它确实使用了它),因为示例继承了System.Object。

另外,我之所以使用“微软c#实现”这个短语,是因为还有其他可用的c#实现。

除了Andrew的回答,值得注意的是:

. net不仅仅是一个库,还是一个用于执行应用程序的运行时。 对c#的了解意味着对。net的了解(因为c#对象模型对应于。net对象模型,您可以通过使用。net库在c#中做一些有趣的事情)。相反的情况并不一定正确,因为您可以使用其他语言来编写. net应用程序。

在。net / c#中,语言、运行库和库之间的区别比在c++中更为严格,c++的语言规范还包括一些基本的库函数。c#规范只说了很少的环境(基本上,它应该包含一些类型,如int,但这或多或少是全部)。