Я не думаю, что ты один в смущаясь о том, что .Net есть. Уже есть другие ответы, которые вы должны были охватить, но я выкину эту информацию для других.
Чтобы увидеть, что .Net «на самом деле» просто пойти в C: \ Windows \ Microsoft.Net \ Framework
там вы увидите папки, которые specfic версии (ы) вы установили. Перейдите в папку v2.0.xxxxx, если вы его установили, например.
В этой папке находится фреймворк. В основном вы увидите кучу файлов .exe и DLL-файлов. Все DLL-файлы, которые начинаются с System. *. Dll, по существу, являются .Net framework.
Файлы .exe, которые вы увидите в этой папке, являются утилитами для разработчиков, а также для компиляторов. Вы упомянули C#. Найдите файл csc.exe. Это ваш компилятор C#.
Построение программы на самом деле прост. Вставьте следующий код в файл hello.cs.
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world");
}
}
Затем от типа командной строки> CSC Hello.cs
Это создаст вам файл с расширением .exe. Запустите его, и он, очевидно, выплюнет «привет мир».
Строка, которая говорит, что Console.WriteLine() вызывает в Framework. Консоль - это объект, который живет в пространстве имен System, и WriteLine() является статическим методом.
Это разобранном код для этого метода Console.WriteLine():
[HostProtection(SecurityAction.LinkDemand, UI=true)]
public static void WriteLine(string value)
{
Out.WriteLine(value);
}
Когда люди говорят, что такие вещи, как, или «Должен ли я использовать Python или«Должен ли я использовать PHP или .Net?». Net "вы начинаете видеть, как это не так, что нужно обсуждать. Они, очевидно, сравнивают язык с Framework. C# - это язык, и это лишь один из многих языков, которые можно использовать для написания кода поверх платформы .Net. Тот же метод Console.WriteLine() может быть вызван из C#, VB.Net, Pascal, C++, Ruby, Python, F # и любого другого языка, который был создан для работы поверх платформы .NET.
Я надеюсь, что это поможет.
-Keith
Возможный дубликат [Что такое управляемый/неуправляемый код в C#?] (Http://stackoverflow.com/questions/334326/what-is-managed-unmanaged-code-in-c) – nawfal 2014-07-11 08:31:45
У Брэда Адамса есть [ Лучшее объяснение, которое я прочитал] (http://blogs.msdn.com/brada/archive/2004/01/09/48925.aspx) – JamesSugrue 2008-09-11 23:47:42