没有.
autoC#中的等价物是var- 编译器将推导出适当的类型.dynamic在运行时确定,因此它永远不会抛出编译错误.来自MSDN:
"在编译时,假定键入动态的元素支持任何操作."
但是,如果代码无效,它将在运行时抛出错误.
不,他们不相似.AFAIK,auto与varC#类似.
auto 得到解决的编译时间,而不是运行时.
来自MSDN
auto关键字指示编译器使用声明的变量的初始化表达式来推断其类型.
所以在你的代码中
auto a = 5; //C++
a.ToUpper(); // Compile time error
Run Code Online (Sandbox Code Playgroud)
但
dynamic a = 5; //C#
a.ToUpper(); //No error at compile time since it will resolve @ runtime
Run Code Online (Sandbox Code Playgroud)
但是在运行时它会抛出错误,因为int类型没有toupper()方法
| 归档时间: |
|
| 查看次数: |
10013 次 |
| 最近记录: |