私はあなたが.NETが何であるかについて混乱している中に一人でいるとは思いません。あなたがカバーするはずのもう一つの答えがありますが、私は他の人のためにこの情報を捨てます。 \ WINDOWS \ Microsoft.Net \ Frameworkのに
をそこにあなたがインストールされているバージョン(複数可)にspecficされたフォルダが表示されます:.NETは「本当に」単にCに移動されたかを確認する
。たとえば、それがインストールされている場合は、v2.0.xxxxxフォルダに移動します。
このフォルダには、フレームワークがあります。基本的には、.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ファイルを生成します
。それを実行すると、明らかに「こんにちはの世界」が吐き出されます。
Console.WriteLine()と呼ばれる行がフレームワークを呼び出しています。コンソールは、System名前空間内に存在するオブジェクトであり、WriteLine()は静的メソッドです。
これは、そのConsole.WriteLineを()メソッドの逆アセンブルコードです:「?私はPHPや.NETを使用すべき」人々は、のようなものが言う、あるいは「私はPythonやを使用すべき
[HostProtection(SecurityAction.LinkDemand, UI=true)]
public static void WriteLine(string value)
{
Out.WriteLine(value);
}
。あなたが議論している間違ったことがどうなっているか見始める。彼らは明らかに言語をフレームワークと比較しています。 C#は言語であり、.Netプラットフォームの上にコードを書くために使用できる多くの言語の1つに過ぎません。 Console.WriteLine()の同じメソッドは、C#、VB.Net、Pascal、C++、Ruby、Python、F#および.Netプラットフォームの上で動作するようにされた他の言語から呼び出すことができます。
私は役立つことを願っています。個人的に
[C#で管理/非管理コードとは何ですか?](http://stackoverflow.com/questions/334326/what-is-managed-unmanaged-code-in-c) – nawfal
Brad Adamsには[私が読んだベスト解説](http://blogs.msdn.com/brada/archive/2004/01/09/48925.aspx) – JamesSugrue