l33*_*33t 2 .net c# vb.net namespaces
自从引入var关键字以来,为什么要使用为什么要使用完全限定名?
var有效地减少了变量声明的输入.因此,可以保持完整的声明而不会使代码膨胀.这让我很奇怪,为什么你甚至想宣布namespace使用?
// A lot of typing, but unambiguous.
System.Drawing.Point a = new System.Drawing.Point();
// using System.Drawing, Point possibly ambiguous.
Point b = new Point();
// using System.Drawing, Point possibly ambiguous.
var c = new Point();
// Less typing, still unambiguous.
var d = new System.Drawing.Point();
Run Code Online (Sandbox Code Playgroud)
这里的最佳做法是什么?
这似乎更少关于命名空间,更多关于在代码中使用静态类型.我听说不使用的主要论点var延伸到通过浏览声明时变量类型不明显.请考虑以下代码:
var readyTasks = _config.GetTasks().Where(x => x.Ready);
Run Code Online (Sandbox Code Playgroud)
你究竟怎么知道它是什么readyTasks? IEnumerable考虑到什么Where()回报是一个给定的,但除此之外,获取类型的唯一方法是鼠标悬停var并让Visual Studio为你揪出它.随着LINQ语句变得越来越长,这变得更加复杂,可以将枚举变为逻辑结构(如foreach循环),列表一直在继续.
var(我是其中之一)的支持者将反驳说var,从长远来看,这将是一件很小的事情,可以为您带来更少的麻烦.静态类型声明从来都不是程序员舒适性的考虑因素.它们首先是编译器.因此,仅仅因为你已经习惯了这个神器似乎没有意义.
| 归档时间: |
|
| 查看次数: |
2282 次 |
| 最近记录: |