6

dynamic は暗黙的または明示的な型割り当てですか? 実行時に以下の例のコンテキストで動的変数のメモリ割り当てがどのように発生するか。

C# はタイプ セーフな言語であるため、タイプ セーフに対する動的な影響。

public class Program
{
    static void Main(string[] args)
    {                                                
        dynamic dynamicVar = 10;
        dynamicVar = true;
        dynamicVar = "hello world";
        // compiles fine
        int index = dynamicVar.IndexOf("world");                        
    }        
} 
4

1 に答える 1

5

型の変数は、CLR に関する限り、dynamic実質的に型の変数です。これは、式を使用するすべての操作に実行時のバインドを行うコンパイラobjectにのみ影響します。dynamic

そのバインディング プロセス自体は、追加のローカル変数などを使用します (ILDASM、Reflector などを参照すると、よろめきます) dynamicVarobjectと のintbool

于 2013-09-12T07:30:49.283 に答える