11

「コンパイル時」と「実行時」(または「実行時」) という用語の意味がわかりません。

また、「値型」と「参照型」が何を意味するのか、そしてそれらが上記の「時間」とどのように関係しているのかについても少し混乱しています。

誰かがこれらのことを説明してくれませんか?

4

4 に答える 4

23

「コンパイル時間」とは、コードをビルドするとき、つまりコンパイラがソース コードを IL に変換するときです。

「ランタイム」とは、コードが実行されるときです。ASP.NET の場合、ページ要求が行われるときです。(個人的には、「実行時間」という用語は、仮想マシンとも呼ばれる「共通言語ランタイム (CLR)」と区別するために好んで使用します。)

値型と参照型はまったく別の概念ですが、役に立つと思われるそれらに関する記事があります。

于 2009-10-05T10:27:47.967 に答える
5

値型の変数はデータを格納し、参照型の変数はデータへの参照を格納します。

コンピューター サイエンスでは、コンパイル時間とは、コンパイラによって実行される操作 (「コンパイル時操作」)、ソース コードが正常にコンパイルされるために満たす必要があるプログラミング言語要件 (「コンパイル時要件」) のいずれかを指します。 、またはコンパイル時に推論できるプログラムのプロパティ。

コンパイル時に実行される操作には、通常、構文解析、さまざまな種類の意味解析 (型チェックやテンプレートのインスタンス化など)、およびコード生成が含まれます。

コンピューター サイエンスでは、修飾子run time、run-time、runtime、または execution time は、コンピューター プログラムがコンピューターで実際に実行 (「実行」) される期間 (開始から終了まで) を指します。また、プログラムの実行時間、その期間の長さを意味する場合もあります。

于 2009-10-05T10:27:59.337 に答える
1

値型変数とは、自身の値を直接格納できる変数を意味します。
参照型変数とは、値を直接格納するのではなく、値の参照 (値のアドレス) を格納する変数を意味します。

于 2013-05-16T06:34:48.533 に答える
0

最初の質問については、Stack Overflow:Runtime vsCompiletimeを参照してください。

2番目の質問については、「スタックオーバーフロー:C#の値型と参照型の違いは何ですか」を参照してください。

それらがどのように関連するかに関して:それらは独立した概念です。変数の値の設定とその値の読み取りは実行時に行われます。その変数が値型または参照型を持っているかどうか。

于 2010-05-22T17:19:13.053 に答える