为什么喜欢var strList = new List< string>(); over list< string> strList = new List< string>();? [英] Why prefer var strList = new List<string>(); over List<string> strList = new List<string>();?

查看:168
本文介绍了为什么喜欢var strList = new List< string>(); over list< string> strList = new List< string>();?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么在创建对象时,最好使用 var 关键字比真实类型?

Why when creating object it is preferred to use var keyword than real type?

var strList  = new List<string>(); //good?
List<string> strList  = new List<string>(); //why bad?

问题不仅仅是列表< T>

推荐答案

不是 var 一个是坏的。

如果你想让我更具体,我想你应该使用 var 当类型完全明显时,例如:

If you want me to be more specific, I think you should use var only when the type is completely evident, such as:

var employee = new Employee();

另一方面,这可能是一个可怕的想法:

On the other side it's probably a horrible idea to do:

var e = GetEmployees();

因为很难判断 e Employee 对象或List,数组等。

Because it's hard to tell whether if e is an Employee object, or a List, array, etc.

在不降低可读性的情况下节省您一些工作:

Also is probably right to use it when it saves you some effort while not diminishing readability:

ReallyLongClassName someidentifier = new ReallyLongClassName();

VS

var explanatoryIdentifier = new ReallyLongClassName();

但最终,这归结于个人喜好,只是 / strong>如果您损害了可读性,请保存一些字符。

But at last, it comes down to be personal preference, just don't ever save you some characters if you are damaging readability.

这篇关于为什么喜欢var strList = new List&lt; string&gt;(); over list&lt; string&gt; strList = new List&lt; string&gt;();?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆