可能重复:
C#"as"施放vs经典施法
我想知道当我做类似的事情时,.Net CLR的内幕会发生什么
object myObj = "abc"; string myStr = (string)myObj;
以及第二行与string myStr = myObj.ToString()或如何不同string myStr = myObj as string;
环顾四周我找到了泛型的答案,比如"编译器在那里插入代码",但我并不满意......我正在寻找演员机制的深刻内容......哦,编译器插入代码?给我看看!编译器优化代码?怎么样?什么时候?
请尽可能接近金属!
您可以使用IL Dissasembler在较低级别查看代码生成的内容。如果您的计算机上安装了 Visual Studio,则只需在 Windows 搜索框中键入“ildasm”即可找到它。
以下代码的 IL 如下所示:
object myObj = "abc";
string myStr = (string)myObj;
string tostring = myObj.ToString();
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
876 次 |
| 最近记录: |