【问题标题】:Is it more efficient to use explicit variables?使用显式变量是否更有效?
【发布时间】:2016-05-08 12:07:11
【问题描述】:

这个问题与 C# 有关。

哪个更有效?

  1. int number = 5;

或:

  1. var number = 5;

我的想法是在运行时性能或内存应该没有差异,但选项 2 的编译时间会更长。

正确吗?使用var 有什么不好的方面吗?

【问题讨论】:

  • 恕我直言,您应该遵循最佳实践(在这种情况下使用 var 关键字),这会使您的代码更具可读性。还可以说您更改了赋值的右侧,在第一种情况下,您还必须更改(可能)类型声明,而第二种情况并非如此。
  • 根据stackoverflow.com/questions/356846/…,没有区别。
  • 关于var关键字herehere的一些信息
  • 编译器可以在你眨眼之前做上千次。所以别担心。只需选择您感觉更好且更具可读性的那个。
  • 这里只是一种意见,但我倾向于在右手是方法调用或属性获取器的情况下输入int,因为var 使不看就不太清楚方法返回的内容在方法的定义。示例:int number = GetFoo();var number = GetFoo();

标签: c# variables var


【解决方案1】:

哪个更有效?

整数 = 5;

或:

变量数 = 5;

两者都编译为完全相同的 IL,因此在运行时不会有任何区别。如果您担心使用var 在编译时的差异,我认为您最好专注于您的代码和产品更重要的方面,不要浪费时间在这样的思考上,而是专注于更重要的东西——编写可读的代码。

【讨论】:

  • 在这两种情况下,编译器必须评估右侧的表达式类型,以检查它是否与 @ 左侧定义的类型匹配987654322@,或者如果存在隐式转换。你猜怎么着...var 不需要检查:) 我不会对编译器进行微基准测试,但 OP 的假设 int 编译速度更快可能没有实际意义。
  • var 不需要检查” - 哇,这很有趣,谢谢,
  • 同意,这是一个不应该做的微基准测试,而是专注于编写可读代码和在运行时优化的代码。
猜你喜欢
  • 2011-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-01
  • 2011-03-19
  • 1970-01-01
  • 2017-05-26
  • 2014-05-07
相关资源
最近更新 更多