在一次采访中,我被要求定义以下代码的输出:
byte data= 100;
dynamic val = data;
Console.WriteLine(val.GetType())
Run Code Online (Sandbox Code Playgroud)
我回答说它不会改变val变量的数据类型,但是当我在控制台中测试时,它确实改变了!
val变量更改为 System.Byte
但更有趣的是,当您将val数据类型更改为 int32 时,仍然没有任何变化System.Int32!
byte data= 100;
int val = data;
Console.WriteLine(val.GetType())
Run Code Online (Sandbox Code Playgroud)
这些转换的逻辑是什么?
你误解了什么dynamic意思。 dynamic是 的同义词object。你会在你的程序的行为感到惊讶,如果你换成dynamic用object?如果没有,那么你的问题得到了回答;如果是,请更详细地解释您的困惑是什么。
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |