C#使用var vs type声明变量

时间:2017-03-17 10:49:44

标签: c#

我正在观看有关如何编写更清晰代码的YouTube视频。创作者展示了一个例子,而不是写作:SqlCommand command = new SqlCommand(query, connection);写作更清晰:var command = new SqlCommand(query, connection);

现在我很好奇:使用var有什么性能差异吗?这是编写干净代码的好方法(我应该开始使用var吗?)

2 个答案:

答案 0 :(得分:2)

不,运行时没有性能差异。 var在编译时被更改为适当的类型。

至于练习有多好:我通常教我的学生使用它,当左手侧的类型从​​右侧清除时。如:

List<int> myList=new List<int>();

从右侧可以清楚地看到左侧是什么。类似于工厂的方法也是如此。 我不喜欢的是你有这样的方法:

private static int DoSomethingAwesome() {...}

然后它被称为

var x = DoSomethingAwesome();

看看如何通过阅读代码来判断左侧的类型(返回类型没有任何指示)?但我想这可能与品味或观点有关。

答案 1 :(得分:0)

性能没有差异,但我个人认为它提高了可读性。此外,如果你必须更改类型,你只需要在行的一端更改它(非常小的事情,很明显,但它始终发生在我身上。)