我不认为只有您对 .Net 是什么感到困惑。已经有其他答案应该让你知道,但我会把这些信息扔给其他人。
要查看“真正”的 .Net 是什么,只需转到 c:\Windows\Microsoft.Net\Framework
在那里,您将看到特定于您安装的版本的文件夹。例如,如果已安装,请进入 v2.0.xxxx 文件夹。
在那个文件夹中是框架。你基本上会看到一堆 .exe 文件和 .dll 文件。所有以 System.*.dll 开头的 DLL 文件本质上都是 .Net 框架。
您将在该文件夹中看到的 .exe 文件是用于开发人员和编译器的实用程序。你提到了 C#。找到 csc.exe 文件。那是你的 C# 编译器。
构建程序非常简单。将以下代码放入 hello.cs 文件中。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world");
}
}
然后在命令行输入> csc hello.cs
这将为您生成一个 .exe 文件。运行它,它显然会吐出'hello world'。
显示 Console.WriteLine() 的行正在调用框架。 Console 是一个存在于 System 命名空间中的对象,而 WriteLine() 是一个静态方法。
这是该 Console.WriteLine() 方法的反汇编代码:
[HostProtection(SecurityAction.LinkDemand, UI=true)]
public static void WriteLine(string value)
{
Out.WriteLine(value);
}
当人们说“我应该使用 PHP 还是 .Net?”或“我应该使用 Python 还是 .Net”之类的话时,您会开始发现讨论的问题是错误的。他们显然是将语言与框架进行比较。 C# 是一种语言,它只是可用于在 .Net 平台之上编写代码的众多语言之一。 Console.WriteLine() 的相同方法可以从 C#、VB.Net、Pascal、C++、Ruby、Python、F# 和任何其他已在 .Net 平台上运行的语言调用。
希望对你有帮助。
-基思