【发布时间】:2015-05-22 04:05:04
【问题描述】:
if (i==101)
{
var lastLoopCheck;
}
Visual Studio 2013 显示错误:-“必须初始化隐式类型的局部变量”
为什么?这是什么原因?
我的第一语言是 JavaScript,其中允许未初始化的变量(本地和全局);看看下面的(JavaScript)代码:
var foo;
alert(typeof foo); //undefined
那么为什么在 JavaScript 中允许未初始化的变量而不在 C# 中呢?
【问题讨论】:
-
查看 stackoverflow.com/questions/961581/… - 你对 C# 中的
var有一些严重的误解(这与 JavaScript 中的var非常 不同)。 -
C# 中的事物变量具有 javascript 不是类型。所有变量都需要静态类型语言中的类型,C# 就是其中之一。
-
为您找到更好的副本 - stackoverflow.com/questions/8457813/…。我确实相信你真正的问题是“为什么 C# 使用
dynamic而不是var”,但是“C#/JavaScript 中 var 的实现之间的差异”应该是很好的替代品。 -
旁注:您所谈论的横幅仅对您自己可见,以帮助您澄清问题(您这样做了,还指责他人误解帖子完全是可选的所以)
标签: javascript c# variables initialization