为什么使用 var 而不是类名
本文关键字:var 为什么 | 更新日期: 2023-09-27 18:34:05
可能的重复项:
var关键字的意义何在?
在 C# 中使用 var 与显式类型相比有什么优势?
我总是看到其他人生成这样的代码:
var smtp = new SmtpClient();
但是在这种情况下,为什么要使用var
而不是SmtpClient
呢?我总是使用
SmtpClient smtp = new SmtpClient();
var
更有效率吗?为什么使用 var
而不是实际的变量类型?我错过了什么吗?
想象一下。
Dictionary<Dictionary<String, String>, String> items = new Dictionary<Dictionary<String, String>, String>();
var
对于这样的事情很有用。
var items = new Dictionary<Dictionary<String, String>, String>();
简单得多。var
的要点与C++ 11 中的auto
相同,编译器知道类型,那么为什么我们必须重复这么多。我个人很少使用var
,但仅用于冗长的声明。这只是句法糖。
不,这与效率无关,而与代码编写风格有关。
考虑到这是关于一种风格,这个规则不能总是应用。
想象以下剪影:
var myVar = Some3dPartFunction()
,myVar
的类型是什么?从代码风格的角度来看,以这种方式编写不是绝对清楚的,也不是好的。
简而言之,以巧妙的方式选择合适的写作。
不,
它不是更有效率。显式编写类型是相同的。事实上,编写变量的类型而不是使用var
是很好的编程,因为它使代码更具可读性。
所以:
var smtp = new SmtpClient();
和:
SmtpClient smtp = new SmtpClient();
同一件事是用两种不同的方式写的。
它是句法糖:
var smtp = new SmtpClient();
等于:
SmtpClient smtp = new SmtpClient();
这是 C# 3.0 中的一项新功能,称为类型推断。