Gat*_*ler 3 .net c# compiler-construction
在我提出问题之前,请看一下这个示例函数:
DateTime.TryParse("01/01/2000", out oDate)
Run Code Online (Sandbox Code Playgroud)
为什么我需要指定out关键字?编译器不应该从函数的定义中知道这一点吗?
我出于纯粹的好奇心问这个问题,希望我能学到一些关于编译器的新知识.
我还应该澄清一下,我特别询问C#.NET 3.5编译器.
这不是关于编译器知道什么,而是关于确保开发人员意识到这个调用可以并且将改变变量X的值.
其中很多都是在C++中的根源,其中参考值不需要调用站点监视器.查看C++调用并确切地知道它将做什么是不可能的.通过引用传递的参数和C++中的值在语义上有很大差异.
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |